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