代码不能在Compact Framework

时间:2015-11-12 14:36:40

标签: c# visual-studio-2008 delegates compact-framework compact-framework2.0

以下代码无法在Compact Framework 2(VS2008)上编译

public delegate TResult Func<out TResult>();
public delegate TResult Func<in T, out TResult>(T a);
public delegate TResult Func<in T1, in T2, out TResult>(T1 arg1, T2 arg2);
public delegate TResult Func<in T1, in T2, in T3, out TResult>(T1 arg1, T2 arg2, T3 arg3);
public delegate TResult Func<in T1, in T2, in T3, in T4, out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4);

我不确定代码作者的意图,我需要知道如何工作。

有条件的信息: 此代码来自LinqBridge的源代码

由于

1 个答案:

答案 0 :(得分:1)

代码只是定义了在.NET 2.0中尚未定义的各种Func代理,

尝试取出inout修饰符,因为它们在.NET 2.0中不受支持:

public delegate TResult Func<TResult>();
public delegate TResult Func<T, TResult>(T a);
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);
相关问题