Sono un novizio di C# e Visual Studio MS e desidero utilizzare la classe C# definita in un altro file, ma non riesco a farlo funzionare.Come utilizzare la classe da altri file in C# con Visual Studio?
Ecco l'program.cs
(e perché non posso cambiare titolo quel file?)
using System;
namespace TestCSharp2
{
class Program
{
static void Main(string[] args)
{
Class2 class2 = new Class2();
// here the IDE will complain that cant find namespace or balabala..
class2.setValue(10);
Console.WriteLine(class2.getValue().ToString());
Console.ReadKey();
}
}
}
E qui è la Class2
che voglio usare nel file di Class2.cs
:
namespace TestCSharp2
{
class Class2
{
int i;
public void setValue(int i)
{
this.i = i;
}
public int getValue()
{
return this.i;
}
}
}
Dovrei #include
o qualcosa del genere? non è sufficiente use namespace
?
Come alcuni ragazzi hanno chiesto se sono nello stesso assembly/stesso progetto, ho presumo lo fossero, perché qui è la procedura di come vengono creati:
- Un nuovo progetto che utilizza il modello di Progetto console C#, quindi lo
program.cs
è stato creato per impostazione predefinita. - Class2.cs è stato creato con [File] -> [Nuovo] -> [File] -> [Classe C#] e salvato nella stessa cartella in cui vive
program.cs
.
Per essere onesti, non so se sono in stesso assembly/stesso progetto, ma immagino che erano.
Entrambi vivono nello stesso assemblaggio? Preferisci anche usare le proprietà sui metodi get/set. C# non è java :) –
sono nello stesso progetto? cosicché quando vengono compilati finiscono nello stesso binario? Se sono in progetti separati, è necessario fare riferimento al primo progetto al secondo. – cjb110
Grazie per il tuo consiglio su getter/setter, ma non so cosa intendi per * lo stesso assembly *. – armnotstrong