2014-04-04 2 views
0

I 매개 변수로 Func<T,string>를 수신하는 기능 내가 Func<T,MvcHtmlString>Func을 변환

나는 현재 보내고 목적은 Html.Partial("MyPartialPath", MyModel).ToString() 입니다 함께 과부하를 할 노력하고있어하고 난 중복 .ToString() 확장하지 않고 그 메소드를 호출 할

그래서,이 원본 방법 :

public void Whatever(Func<T, string> partial) 
    { 
     this.myProperty= partial; 
    } 

그리고 나는 이런 식으로 뭔가를 만들려고 해요 :

public void Whatever(Func<T, MvcHtmlString> partial) 
    { 
     this.myProperty= partial; // here fails because myProperty is of type Func<TRow, string> 
    } 

나는 convertFunc<T,MvcHtmlString>Func<T,string>로합니다. 여기

은 예상대로

이 변환하는 올바른 방법이다 (원래의 방법과 동일한 결과가없는), 그리고 작동하지 않습니다 // 내가

Func<TRow, string> test= t => partial.ToString();

을 시도했다입니다 오류가 다른 곳에서 발생했거나 내가해야하는대로 전환을 수행하지 않습니다. 그것의 결과를 대신하는 방법 partial를 참조하기 때문에

 
Func test= t => partial.ToString(); 

:

+1

"원래 방법과 동일한 결과가 없음"이란 무엇을 의미합니까? –

+0

부분보기의 내용을 제공하지 않습니다. null를 돌려줍니다. – Kosmog

답변

1

빠른 슛으로 난 당신이 여기에 실수를 말할 것입니다.

 
Func test= t => partial(t).ToString(); 

가 BTW : MvcHtmlString이 문자열에서 파생 할 경우 결과 유형이 공변이기 때문에, 코드가 작동 할 나는 아마 당신은 무엇을 의미하는지/원한 생각합니다. 그러나 불행하게도 이것은 실제로 사실이 아니다, 그것은 옆의 메모로서 단지 나의 2 센트이었다.

+0

감사합니다! 그것은 효과가있다! – Kosmog

관련 문제