Wie kann ich in c# den Wert eines privaten Feldes mit einer Methode ändern?

... komplette Frage anzeigen

3 Antworten

Eine "static"-Methode gehört der Klasse und keiner ihrer Instanzen. Deshalb kann sie auch nur auf Klassenmember zugreifen und nicht auf Instanzmember.

Ändern muss auch eine Methode von Test sein und nicht von einer externen Klasse, damit die geänderte Größe für Test privat sein kann.

Also entweder

      Test h1 = new Test(36);
h1.Ändern(121);

...
class Test {
private int Wert
public void Test(int Wert) {this.Wert=Wert; }
public void Ändern(int neuerWert) {
this.Wert=neuerWert;
}
}

oder

      Test.setzeWert(36);
Test.Ändern(121);

...
class Test {
private static int Wert
public static void Test(int neuerWert) {Wert=neuerWert; }
public static void Ändern(int neuerWert) {
Wert=neuerWert;
}
}

oder

      Test h1 = new Test(36);
Test.Ändern(h1, 121);

...
class Test {
private int Wert
public void Test(int Wert) {this.Wert=Wert; }
public static void Ändern(Test t, int neuerWert) {
t.Wert=neuerWert;
}
}
Antwort bewerten Vielen Dank für Deine Bewertung

h1 = Änderen( 121)

public static int Änderen( int new){ return new }

public static int, da du einen integer zurückgeben möchtest, in return

Antwort bewerten Vielen Dank für Deine Bewertung

Die Klasse Test muss eine Methode void ändern(int neu) haben.

In dieser Methode änderst du das gewünschte Feld auf neu

Du rufst diese Methode mit h1.ändern(121) auf.

Die Methode ist nicht static und bekommt auch nicht t als Parameter.


Antwort bewerten Vielen Dank für Deine Bewertung