Sdílet prostřednictvím


Compilerfehler CS0765

Aktualisiert: November 2007

Fehlermeldung

In Ausdrucksbaumstrukturen dürfen weder partielle Methoden mit nur einer definierenden Deklaration noch entfernte bedingte Methoden verwendet werden.
Partial methods with only a defining declaration or removed conditional methods cannot be used in expression trees

Obwohl es sich beim Aufruf einer entfernten partiellen Methode um einen Ausdruck handelt, ist dies für die Ausdrucksbaumstruktur kein akzeptabler Ausdruck.

So beheben Sie diesen Fehler

  • Fügen Sie eine implementierende Deklaration für die partielle Methode hinzu, oder entfernen Sie den Code, der dafür verantwortlich ist, dass die bedingte Methode von der Kompilierung ausgeschlossen wird.

Beispiel

Im folgenden Code wird der Fehler CS0765 an zwei Stellen ausgelöst:

// 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
    }
}

Siehe auch

Konzepte

Ausdrucksbaumstrukturen

Referenz

Partielle Klassen und Methoden (C#-Programmierhandbuch)