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