두 개의 확장 메서드 클래스가 포함 된 클래스 라이브러리가 있습니다. 현재 내가 직면 한 문제는 확장 클래스를 매개 변수로 전달하지 않으면 컴파일하지 않는 라이브러리를 참조하는 다른 프로젝트에서 확장 메서드를 호출하려고 할 때입니다.클래스 라이브러리 확장 메서드,이 키워드는 올바른 소스를 가리키고 있지 않습니다.
함수 정의
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