Ich habe Code wie folgt aus:Wie man eine Variable mit Klasseninstanz schreibgeschützt zu externen Klassen macht, aber ihre Mitglieder lesen/schreiben?
struct Three
{
public int Number;
}
class One
{
public Three three;
public One(){three = new Three();}
}
class Two
{
private One test = new One();
public void SomeFunction()
{
test.three.Number = 5; // This works fine
}
}
Aber ich brauche nur die Klasse erlauben man in der Lage zu sein, direkt in die schreiben drei Variablen (Sachen wie diese drei = new Drei() zu tun), so dass die Klasse zwei können das nicht tun: test.three = new Three(); aber es sollte in der Lage sein, dies test.three.Number = 5; (Wie in Änderungswerte in dieser Instanz dieser Struktur), so habe ich das:
struct Three
{
public int Number;
}
class One
{
public Three three {private set; get;}
public One(){three = new Three();}
}
class Two
{
private One test = new One();
public void SomeFunction()
{
test.three.Number = 5; // This says i can't modify the return value because it is not a variable
}
}
wegen "struct". Wenn Sie es in "Klasse" ändern, funktioniert es. –