Benutzer mit den meisten Antworten
Daten von der Klasse im Form ändern

Frage
-
Hallo C#-ler,
Ich habe eine Klasse erstellt und kann auch drauf zugreifen.
Hier die Klasse:
namespace Test { public class TestClass { public bool a; } }
Hier im form:
private void MethodeA() { Test test = new Test(); test.a = true MethodeB(); }
Später im Form:
private void MethodeB() { Test test = new Test(); if(test.a == true) { //Hier soll mein Programm hinkommen :) } else { //Hier kommt mein Programm hin :( } }
Nun mein Problem:
Ich möchte das mein Programm an der von oben beschriebenen Stelle hingelangt nur das tut es nicht.
Könnt ihr mir Helfen
Danke das ihr euch Zeit genommen habt mir zu Helfen,
Discofix
Antworten
-
Du erzeugst in deiner Methode B eine neue Instanz deiner Klasse ohne diese zu initialisieren. Also entweder
private void MethodeB() { Test test = new Test() { a = true }; if(test.a) { //Hier soll mein Programm hinkommen :) } else { //Hier kommt mein Programm hin :( } }
oder
private void MethodeA() { Test test = new Test() { a = true }; MethodeB(test); } private void MethodeB(Test instance) { if(instance.a) { //Hier soll mein Programm hinkommen :) } else { //Hier kommt mein Programm hin :( } }
oder
private Test fieldInstance; private void MethodeA() { fieldInstance = new Test() { a = true }; MethodeB(); } private void MethodeB() { if(fieldInstance.a) { //Hier soll mein Programm hinkommen :) } else { //Hier kommt mein Programm hin :( } }
- Als Antwort vorgeschlagen Thorsten DörflerEditor Dienstag, 30. August 2011 05:38
- Als Antwort markiert Discofix Dienstag, 30. August 2011 16:46
Alle Antworten
-
Du erzeugst in deiner Methode B eine neue Instanz deiner Klasse ohne diese zu initialisieren. Also entweder
private void MethodeB() { Test test = new Test() { a = true }; if(test.a) { //Hier soll mein Programm hinkommen :) } else { //Hier kommt mein Programm hin :( } }
oder
private void MethodeA() { Test test = new Test() { a = true }; MethodeB(test); } private void MethodeB(Test instance) { if(instance.a) { //Hier soll mein Programm hinkommen :) } else { //Hier kommt mein Programm hin :( } }
oder
private Test fieldInstance; private void MethodeA() { fieldInstance = new Test() { a = true }; MethodeB(); } private void MethodeB() { if(fieldInstance.a) { //Hier soll mein Programm hinkommen :) } else { //Hier kommt mein Programm hin :( } }
- Als Antwort vorgeschlagen Thorsten DörflerEditor Dienstag, 30. August 2011 05:38
- Als Antwort markiert Discofix Dienstag, 30. August 2011 16:46