我尝试使用VB.NET中的CodeProject文章和.NET Framework 2.0中的类.
除了这一行Private _workerFunction As Func(Of TResult)和方法标题之外,似乎所有东西都要编译Public Sub New(ByVal worker As Func(Of TResult)).
我可以在MSDN上找到这些新代理(Func(Of ...)从.NET 3.5支持.
如何重写它以在.NET 2.0中工作?
Kon*_*man 22
幸运的是,.NET 2.0已经支持泛型,因此您可以使用相同的签名创建自己的委托:
public delegate T Func<T>();
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 19
正如Konamiman所说,您可以非常轻松地声明自己的委托类型.在我的"版本"页面上,我将它们全部声明,以便您可以剪切并粘贴它们:
public delegate void Action();
public delegate void Action<T1, T2>(T1 arg1, T2 arg2);
public delegate void Action<T1, T2, T3>(T1 arg1, T2 arg2, T3 arg3);
public delegate void Action<T1, T2, T3, T4>(T1 arg1, T2 arg2, T3 arg3, T4 arg4);
public delegate TResult Func<TResult>();
public delegate TResult Func<T, TResult>(T arg);
public delegate TResult Func<T1, T2, TResult>(T1 arg1, T2 arg2);
public delegate TResult Func<T1, T2, T3, TResult>(T1 arg1, T2 arg2, T3 arg3);
public delegate TResult Func<T1, T2, T3, T4, TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4);
Run Code Online (Sandbox Code Playgroud)
(我没有避免在这里滚动,因为你可能不想在IDE中使用换行符.注意这Action<T>是.NET 2.0的一部分,因此它不在上面.)
| 归档时间: |
|
| 查看次数: |
4950 次 |
| 最近记录: |