¿Por qué es necesario hacer una función ESTÁTICA mientras se usan delegados en C#?¿Por qué un delegado no puede hacer referencia a un método no estático cuando se usa en un método estático?
class Program
{
delegate int Fun (int a, int b);
static void Main(string[] args)
{
Fun F1 = new Fun(Add);
int Res= F1(2,3);
Console.WriteLine(Res);
}
**static public int Add(int a, int b)**
{
int result;
result = a + b;
return result;
}
}
¿Está tratando de hacer referencia a él en un contexto estático desde Main? – captncraig
Niego la premisa de la pregunta; es * no * necesario para que el método sea estático. Es necesario proporcionar suficiente información al delegado para llamar con éxito al método; para métodos no estáticos, que incluye proporcionar la instancia que recibe la llamada al método no estático. –