Ich habe eine Klassenbibliothek, die ein paar Extensions Methoden Klassen enthält. Das Problem, dem ich momentan gegenüberstehe, ist, wenn ich versuche, eine Erweiterungsmethode von einem anderen Projekt aufzurufen, das auf die Bibliothek verweist, die nicht kompiliert wird, wenn ich die erweiterte Klasse nicht als Parameter übergebe.Klassenbibliothek Erweiterungsmethoden, dieses Schlüsselwort nicht auf die richtige Quelle
Funktionsdefinition
public static MvcHtmlString Tooltip(this HtmlHelper @this, string tooltip)
{
return new MvcHtmlString([email protected]" <i class=""fa fa-question-circle"" title=""{tooltip}""></i>");
}
die erwartete Art und Weise einen Funktionsaufruf machen
MyLibrary.Extensions.Tooltip("foo")
das Problem, das ich habe (der einzige Weg, es kompiliert)
MyLibrary.Extensions.Tooltip(HtmlHelper,"foo")
Das ist nicht, wie Extension-Methoden funktionieren sollen ... Wo ist die Instanz von 'HtmlHelper'? –
Lassen Sie das 'this'-Schlüsselwort für einen Versuch aus. Wie würdest du die statische Methode dann nennen? Sie benötigen eine Instanz vom Typ 'HtmlHelper' gemäß der Methodensignatur. – HimBromBeere
Ist Ihr erstes Beispiel "MyLibrary.Extensions.Tooltip (" foo ")" für eine Instanzvariable vom Typ HtmlHelper? Wenn ja, fügen Sie bitte die gesamte Codezeile hinzu, um sicherzugehen. – nikovn