Ho nel Form1.cs:
namespace FlyingSkyUp
{
public partial class Form1 : Form
{
//Istanza per oggetti "globali"
C_PianoDiVolo IlPianoDiVolo = new C_PianoDiVolo();
public Form1()
{
InitializeComponent();
ecc..
e ho la classe C_PianoDiVolo.cs:
namespace FlyingSkyUp
{
public class C_PianoDiVolo
{
private string DepIcao;
private string DestIcao;
private ArrayList Route;
public C_PianoDiVolo() //Costruttore di istanza
{
DepIcao = "";
DestIcao = "";
ArrayList Route = new ArrayList();
}
public void ImpostoIlFL(string[] sFileLetto)
{
foreach (string sRiga in sFileLetto)
{
try
{
this.Route.Add("sTesto"); <- ERRORE: Route non è istanziato ?????
DOMANDA
Mi sono creato una istanza da Form1 in maniera che sia visto da tutti i componenti di Form1 che ne avranno bisogno.
Quando creo questo oggetto (C_PianoDiVolo), ho pensato di farmi un costruttore personale, che dovrebbe prepararmi ArrayList pronto da usare.
E quando mi richiamo il metodo ImpostoIlFL di C_PianoDiVolo mi ritrovo Route (l'ArrayList) non istanziato (cioè null !).
Ovvio che il mio ragionamento è sbagliato altrimenti c# non mi darebbe errore.. per cui nel mio ragionamento, dove sbaglio ?
Devo ANCHE istanziare la "Route" in "public partial class Form1 : Form" ?
Questo però non ha senso !
Io "voglio" che quando viene creato il C_PianoDiVolo, con il costruttore venga automaticamente creata la Route pronta per essere utilizzata.
DOMANDA 2:
Perché se istanzio "IlPianoDiVolo" dentro "public Form1()" mi dice che:
Errore CS0103 Il nome 'IlPianoDiVolo' non esiste nel contesto corrente ??
Potrò istanziare un oggetto dove mi pare ?