Error del compilador CS0765
Actualización: noviembre 2007
Mensaje de error
En los árboles de expresión no se pueden utilizar métodos parciales con solo una declaración de definición ni métodos condicionales quitados
Partial methods with only a defining declaration or removed conditional methods cannot be used in expression trees
Aunque una llamada a un método parcial quitado es una expresión, no es una expresión aceptable en un árbol de expresión.
Para corregir este error
- Agregue una declaración de implementación para el método parcial o quite el código que hace que el método condicional se excluya de la compilación.
Ejemplo
El código siguiente genera el error CS0765 en dos ubicaciones:
// 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
}
}