CS0765 de erro do compilador
Mensagem de erro
Métodos parcial com apenas uma declaração de definição ou métodos condicionais removidos não podem ser usados em árvores de expressão
Embora uma telefonar para um método parcial removido for uma expressão, não é uma expressão aceitável em uma árvore de expressão.
Para corrigir este erro
- Adicione uma declaração de implementação para o método parcial ou remover o código que está causando o método a ser excluído da compilação condicional.
Exemplo
O código a seguir gera CS0765 em dois locais:
// 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
}
}