编译器错误 CS1951
更新:2007 年 11 月
错误消息
表达式目录树 lambda 不能包含 out 或 ref 参数。
表达式目录树只将表达式表示为数据结构。无法表示特定的内存位置,但如果通过引用传递参数,则必须这样做。
更正此错误
- 唯一的选择是移除委托定义中的 ref 修饰符并按值传入参数。
示例
下面的示例将生成 CS1951:
// cs1951.cs
using System.Linq;
public delegate int TestDelegate(ref int i);
class Test
{
static void Main()
{
System.Linq.Expressions.Expression<TestDelegate> tree1 = (ref int x) => x; // CS1951
}
}