Ich versuche, eine Klasse zu erstellen, die Wert a
als Parameter im Konstruktor nimmt. Es hat eine private Mitgliedsvariable, die diesen Wert speichert. Der Wert sollte danach nicht mehr geändert werden.Konstruieren Klasse, die Eigenschaft kann nur im Konstruktor festgelegt werden, aber überall hinkommen?
Hier ist, was ich habe, es funktioniert, aber ich glaube nicht, es gibt die beste Lösung ist:
internal class Foo
{
private int a;
public int A
{
get
{
return this.a;
}
}
public Foo(int a)
{
this.a = a;
}
}
Also diese Weise Sie nicht a
von außerhalb der Klasse zugreifen können, und A
-property nur hat eine get-Methode. Sie können jedoch immer noch innerhalb der Klasse a
ändern und eine Eigenschaft verwenden, die nur eine Variable zurückgibt, und nichts anderes fühlt sich dumm an.
Mache ich das richtig, oder gibt es eine Möglichkeit meinen Code zu verbessern/den richtigen Weg, dies zu tun?
Ahh nett, hatte nicht von 'readonly' gewusst, ich habe schon versucht mit' const' aber gab auf, da es nicht im Konstruktor gesetzt werden kann. Nice :) –