更新:2007 年 11 月

错误消息

不能在表达式目录树中使用只有定义声明的分部方法或已移除的条件方法

虽然对已移除的分部方法的调用是一个表达式,但它是表达式目录树中不可接受的表达式。

更正此错误

  • 为分部方法添加实现声明,或移除导致条件方法无法编译的代码。

示例

下面的代码在两个位置生成 CS0765:

 复制代码
// cs0765.cs
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Linq.Expressions;

public delegate void dele();

public class ConClass
{
    [Conditional("CONDITION")]
    public static void TestMethod() { }
}

public partial class PartClass : IEnumerable
{
    List<object> list = new List<object>();

    partial void Add(int x);

    public IEnumerator GetEnumerator()
    {
        for (int i = 0; i < list.Count; i++)
            yield return list[i];
    }

    static void Main()
    {
        Expression<Func<PartClass>> testExpr1 = () => new PartClass { 1, 2 }; // CS0765
        Expression<dele> testExpr2 = () => ConClass.TestMethod(); // CS0765
    }
}

请参见

概念

表达式目录树

参考

分部类和方法(C# 编程指南)