Wie kann ich die Referenz eine Methode aus einer anderen Klasse ohne Instanzierung es?
Ich will nicht, um ein Objekt zu erstellen, weil es keinen Einfluss auf meine sichtbare form. Wie kann ich eine Methode aufrufen, so ist es seine Sache in der sichtbaren Seite der Dinge.
public class foo
{
public void SetString(string foo)
{
label1.Text = foo;
}
}
Innerhalb einer anderen Klasse:
foo X = new foo();
X.SetString("testlololol");
So wird das label, aber PRAKTISCH, ich werde nicht in der Lage, um zu sehen, es auf meine form.
Wie kann ich das gleiche tun, aber auf meine SICHTBAREN Seite der Dinge?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie Ihre sichtbare form speichern Verweise auf Sie in einige statische Eigenschaft. Dann können andere Klassen verwenden, die diese Eigenschaft zum ausführen von public-Methoden der Klasse.
Müssen Sie irgendwie bekommen, die Instanz, die ist sichtbar. Arbeiten Sie einige Informationen Weg von den Dingen, die bereits wissen, über Ihre form (oder was auch immer es ist) zu deinem anderen code. Betrachten Sie, was passieren, wenn es zwei sichtbaren Formen - welche würden Sie sich wünschen? Das sollte vorschlagen, einen Weg nach vorne. Wenn Sie wissen, für eine Tatsache, dass es immer nur eine Instanz sichtbar, Sie könnte Verwendung eines singleton - aber ich würde stark vermuten, dass Sie nicht.
Beachten Sie, dass Sie möglicherweise nicht brauchen zu wissen, der es durch seinen vollen Namen eingeben - wenn diese Kreuzung Schichten, möchten Sie vielleicht, um zu arbeiten, eine Schnittstelle einschließlich der Maßnahmen, die in einer abstrakten Art und Weise.
Ich würde in der Regel entweder übergeben Sie eine Referenz von meinem Formular ('foo' in diesem Fall) zu der anderen Klasse. Oder ich würde laden an eine Kopie von 'foo', um einige statische Position. Wenn Sie wissen, dass es immer nur 1 Instanz von 'foo', Sie könnten etwas tun wie:
...und...
Aber das ist ein bisschen hacky IMO, und keine Unterstützung für mehrere Instanzen von 'foo'.
Ihre zweite-Klasse muss eine Referenz auf die Instanz der Klasse sichtbar IST.
}