4
比方說,我有一個接口IMyInterface<T>
,簡單地描述了一個功能:隱式轉換函數功能
public interface IMyInterface<T>
{
T MyFunction(T item);
}
我勉強能與Func<T, T>
代替這一點,但我要爲語義原因接口。我可以定義該接口和Func<T,T>
之間的隱式轉換,以便我可以將匿名委託或lambda作爲參數傳遞給接受該接口作爲參數的函數,就像我使用Func<T,T>
代替它一樣?
爲了演示,使用聲明的接口上面我想這樣的功能:
public T TestFunction<T>(IMyInterface myInterface, T value)
{
return myInterface.MyFunction(value);
}
那我可以這樣調用:
TestFunction<string>(x => return x + " world", "hello");
其結果將是「世界你好」。
您是否打算在第二個代碼塊中調用IMyInterface.MyFunction()? – Andy 2009-05-27 19:48:58
是的,謝謝。固定。 – 2009-05-27 19:50:01