class Class1
{
[STAThread]
static void Main(string[] args)
{
Odeljenje a = new Odeljenje("Pera", "Ana", "Mika", "Sanja");
// Ispisivanje Clanova niza preko klase Odeljenje
a.Ispisivanje ();
// Pozivam konstruktor klase TestClass
new TestClass ();
}
}
class Zaposleni
{
public Zaposleni(string imeZaposlenog)
{
ime = imeZaposlenog;
}
public string ime;
}
class Odeljenje
{
// Niz zaposlenih
public Zaposleni [] m_zaposlenog;
// Konstruktor
public Odeljenje ()
{
}
// konstruktor koji upisuje clanove niza
public Odeljenje(string zaposleni1, string zaposleni2, string zaposleni3, string zaposleni4)
{
//pravim niz od 4 ekipe
m_zaposlenog = new Zaposleni [4];
//Zaposlenima u nizu dajem imena
m_zaposlenog[0] = new Zaposleni(zaposleni1);
m_zaposlenog[1] = new Zaposleni(zaposleni2);
m_zaposlenog[2] = new Zaposleni(zaposleni3);
m_zaposlenog[3] = new Zaposleni(zaposleni4);
}
public void Ispisivanje ()
{
for (int i=1; i<=4; i++)
Console.WriteLine ("Iz klase Odeljenje pozivam: "+m_zaposlenog[i-1].ime);
Console.ReadLine ();
}
}
// Test klasa
class TestClass
{
public TestClass ()
{
Odeljenje odelj = new Odeljenje ();
for (int i=0; i<4; i++)
Console.WriteLine ("Iz klase Testclass pozivam: "+odelj.m_zaposlenog[i].ime);
Console.ReadLine ();
}
}
Mozda je prevelik kod ali...
Iz klase Class1 sam poslao clanove nizu "Zaposleni [] m_zaposlenog" i kreirao niz koji se nalazi u klasi Odeljenje. Sada hocu tim clanovima da pristupim iz trece klase (npr. TestClass).
U konstruktoru TestClass pokusavam da pozovem public niz m_zaposlenog iz klase Grupa, preko koda:
Odeljenje odelj = new Odeljenje ();
for (int i=0; i<4; i++)
Console.WriteLine ("Iz klase Testclass pozivam: "+odelj.m_zaposlenog.ime);
E tu nastaje problem, jer mi C# prijavi gresku u toku rada programa:
"Object reference not set to an instance of an object."
Dakle, moje pitanje je: ako ne mogu ovako da pristupim sacuvanim podacima u promenljivoj "Zaposleni [] m_zaposlenog", kako mogu, i da li uopste mogu iz neke druge klase osim iz klase Odeljenje?