У меня есть библиотека классов, которая содержит несколько классов методов расширений. Проблема, с которой я столкнулся в данный момент, - это когда я пытаюсь вызвать метод расширения из другого проекта, который ссылается на библиотеку, которую он не компилирует, если я не передаю расширенный класс в качестве параметра.Методы расширения библиотеки классов, это ключевое слово, не указывающее на правильный источник
определение функции
public static MvcHtmlString Tooltip(this HtmlHelper @this, string tooltip)
{
return new MvcHtmlString([email protected]" <i class=""fa fa-question-circle"" title=""{tooltip}""></i>");
}
ожидаемый способ сделать вызов функции
MyLibrary.Extensions.Tooltip("foo")
Проблема у меня есть (единственный способ компилирует)
MyLibrary.Extensions.Tooltip(HtmlHelper,"foo")
Это не то, как должны работать методы расширения ... Где экземпляр «HtmlHelper»? –
Опустите ключевое слово 'this' для попытки. Как бы вы тогда вызвали статический метод? Вам нужен экземпляр типа «HtmlHelper» в соответствии с сигнатурой методов. – HimBromBeere
Это ваш первый пример «MyLibrary.Extensions.Tooltip (« foo »)», используемый для переменной экземпляра типа HtmlHelper? Если да, укажите, пожалуйста, всю строку кода. – nikovn