Shakie
Erfahrenes Mitglied
Memfis, du musst unterscheiden zwischen "Deklaration einer Variable" und "einer Variable einen Wert zuweisen".
Wenn du dir die Beispielklasse von rd4eva anschaust, dann steht da:
Und nicht
Das erste Beispiel deklariert die Variable lediglich, Zweites weist ihr zusätzlich noch einen Wert zu.
Momentan verwendest du die zweite Version: du deklarierst eine System.Threading.Thread-Variable und weist ihr einen Wert zu, nämlich den Wert
Dieser Wert wird der Variable zugewiesen, sobald die Klasse instanziiert wird!
Der Benutzer hat zu diesem Zeitpunkt deine Form wahrscheinlich noch gar nicht in voller Pracht zu Gesicht bekommen.
Wenn du aber lediglich die Thread-Variable deklarierst, ohne ihr einen Wert zuzuweisen, sollte es keine Compiler-Fehler geben:
Den Wert weist du der Variable erst dann zu, wenn der Benutzer auf den Button "Suche starten" geklickt hat, also bevor du "t.Start()" aufrufst.
Wenn du dir die Beispielklasse von rd4eva anschaust, dann steht da:
C#:
class MyClass
{
public string var;
...
C#:
class MyClass
{
public string var = "foobar";
...
Momentan verwendest du die zweite Version: du deklarierst eine System.Threading.Thread-Variable und weist ihr einen Wert zu, nämlich den Wert
C#:
new System.Threading.Thread(delegate() { Search(path, searchPattern); })
Der Benutzer hat zu diesem Zeitpunkt deine Form wahrscheinlich noch gar nicht in voller Pracht zu Gesicht bekommen.
Wenn du aber lediglich die Thread-Variable deklarierst, ohne ihr einen Wert zuzuweisen, sollte es keine Compiler-Fehler geben:
C#:
class SystemThreading
{
public System.Threading.Thread t;
}
Zuletzt bearbeitet: