2010-12-27 13 views
1

Ich weiß (oder so höre ich), dass das Schreiben von Erweiterungsmethoden für eine einzelne eigenständige .NET-Klasse (keine Implementierung von IEnumerable) ein potenzieller Code ist. Um das Leben einfacher zu machen, muss ich jedoch eine Methode an die ConfigurationManager-Klasse in asp.net anhängen. Es ist ein statisches Objekt, so wird dies nicht funktionieren:Erweiterungsmethoden für ein statisches Objekt

public static List<string> GetSupportedDomains(this ConfigurationManager manager) 
{ 

    //the manager needs to be static. 

} 

Die Frage ist also - ist es möglich, eine Erweiterungsmethode für eine statische Klasse in .net zu schreiben?

+0

Mögliche Duplikate: http://stackoverflow.com/questions/2004416/extension-methods-on-a-static-class –

+0

Mögliche Duplikate: http://stackoverflow.com/questions/249222/can-i-add -extension-methods-to-a-existing-static-Klasse – Oded

Antwort

4

Nein, das ist nicht möglich.

Sie sind als statische Objekte definiert, die scheinbar Instanz Methoden sind.

Von MSDN:

Erweiterungsmethoden definiert sind als statische Methoden sind jedoch durch die Verwendung Instanzmethode Syntax aufgerufen.

1

Nein, Sie können nicht. Erweiterungsmethoden erfordern eine Instanz eines bestimmten Typs, die Sie nicht von einer statischen Klasse erhalten können.

Verwandte Themen