Ist gegen Can
Gemäß den Empfehlungen der Microsoft-Namenskonvention sind sowohl "Is" als auch "Can" OK (und ebenso "Has") als Präfix für einen Booleschen Wert.
Im Klartext würde "Is" verwendet, um etwas über den Typ selbst zu identifizieren, nicht was er kann. Zum Beispiel IsFixed
, IsDerivedFrom
, IsNullable
kann alle in CLR - Typen und Methoden gefunden werden. In all diesen Fällen folgt auf "Is" ein Adjektiv .
Inzwischen „kann“ deutlicher zeigt eine Fähigkeit, zum Beispiel CanEdit
, CanRead
, CanSeek
. In jedem dieser Fälle folgt auf can ein Verb .
Da "Support" ein Verb ist, finde ich in deinem Fall CanSupportContentType
besser.
Kürzere Alternative
Andererseits besagen die Konventionen, dass das Präfix optional ist. Außerdem ist es etwas kitschig, den Argumenttyp in den Methodennamen aufzunehmen, da ein Entwickler den Typ des Arguments in Intellisense sehen kann. Sie können Ihre Methode also einfach so benennen Supports
und definieren:
public bool Supports(System.Net.Mime.ContentType contentType)
... der kürzer ist und trotzdem klar den Zweck kommuniziert. Sie würden es so nennen:
ContentType contentType = new ContentType("text/plain");
var someClass = new MediatorsClass();
bool ok = someClass.Supports(contentType);
Oder als Kompromiss vielleicht das Beste:
public bool CanSupport(System.Net.Mime.ContentType contentType)