Compartir a través de


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

Vea también

Conceptos

Árboles de expresiones

Referencia

Clases y métodos parciales (Guía de programación de C#)