Necesito ayuda con la programación C#; Soy nuevo en esto y vengo del fondo C. Tengo una aplicación de consola de la siguiente manera:C# Creando y usando funciones
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Add_Function
{
class Program
{
static void Main(string[] args)
{
int a;
int b;
int c;
Console.WriteLine("Enter value of 'a':");
a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter value of 'b':");
b = Convert.ToInt32(Console.ReadLine());
//why can't I not use it this way?
c = Add(a, b);
Console.WriteLine("a + b = {0}", c);
}//END Main
public int Add(int x, int y)
{
int result = x + y;
return result;
}//END Add
}//END Program
}//END Add_Function
Me da este error en la línea que yo llamo Añadir():
Se requiere una referencia de objeto para el campo no estático, método, o propiedad 'Add_Function.Program.Add (int, int)'
¿Puede alguien explicarme por qué tengo este problema. ¿Esto es porque la arquitectura de C# es diferente de C, y la forma en que la llamo es incorrecta? Gracias.
Esto no se trata tanto de C#, ya que se trata de programación orientada a objetos y cómo funcionan las clases con funciones estáticas y miembros. Está intentando llamar a una función miembro (que requiere una instancia de un objeto) desde un método estático (que no tiene una instancia). –