Ho bisogno di aiuto con la programmazione C#; Sono nuovo ad esso e vengo da C background. Ho un'applicazione console come questo:C# Creazione e uso delle funzioni
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
Mi dà questo errore sulla linea che io chiamo Aggiungi():
è necessario un riferimento a un oggetto per il campo non statico, il metodo, o proprietà 'Add_Function.Program.Add (int, int)'
Qualcuno può spiegarmi perché ho questo problema. Questo perché l'architettura di C# è diversa da C e il modo in cui la chiamo è errata? Grazie.
Questo non è tanto di C#, come si tratta di OOP e su come le classi lavorano con funzioni statiche e del membro. Stai provando a chiamare una funzione membro (che richiede un'istanza di un oggetto) da un metodo statico (che non ha un'istanza). –