Laden...

Funktion/Methode als Parameter übergeben?

Erstellt von PacketAnalyst vor 13 Jahren Letzter Beitrag vor 13 Jahren 6.200 Views
Thema geschlossen
P
PacketAnalyst Themenstarter:in
2 Beiträge seit 2011
vor 13 Jahren
Funktion/Methode als Parameter übergeben?

Hallo ich dachte ich frage mal nach wie ich folgendes Umsetzen kann.

Wie ihr sicherlich alle Wisst kann man bei der delegate Funktion ThreadStart
eine void Funktion übergeben.
Nun meine Frage ist nun Folgende ich würde gerne meiner Klasse eine Void Funktion übergeben diese in einer Liste speichern und Ausführen bei verlangen ^^

So als wenn man Lua benutzt das man halt eine Methode registriert abspeichert und bei Verlangen ausübt(mit Parametern aber auch ohne)

Wisst ihr wie ich das machen kann =?

Ich bin auch auf eine Art Delegate Idee gekommen aber kp wie ich dies tuhe XD
Oder per MethodInfo o.a.

vllt kennt ihr ja Beispiele oder anderes.

mfg ich

1.044 Beiträge seit 2008
vor 13 Jahren

Hallo PacketAnalyst,

void als Parameter ist im Gegensatz zu C++ in C# nicht zulässig. Das macht auch so keinen Sinn. Grundlagen über Delegates findest du hier 🛈 📗 :rtfm:. Was ist konkret deine Frage?

Siehe auch [Hinweis] Wie poste ich richtig? Punkt 1.1.1 und 5.

zero_x

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo PacketAnalyst,

eine Methode kannst du wie jeden anderen Parametertyp übergeben.

Statt Delegate solltest du besser einen extra Delegatentypen definieren. Das geht mit dem delagate-Schlüsselwort. Oder du verwendest einen der Delegatentypen aus dem Framework, z.B. Action<>.

Alles was du wissen musst, steht in der :rtfm: Doku.

herbivore

P
PacketAnalyst Themenstarter:in
2 Beiträge seit 2011
vor 13 Jahren

Meine Frage ist folgende:

Wie mache ich es das ich sagen wir eine Funktion wie bei ThreadStart übergebe?

also zb.


Thread newthread = new Thead(new ThreadStart(Funktion));

Das ich halt an meine Klasse die Funktion übergebe und sie dort einspeicher und dann ausführe :S

mfg Ich

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo PacketAnalyst,

schau dir halt an, wie der Konstruktor von Thread definiert ist. Der hat einfach einen Parameter vom Typ ThreadStart.

Ich schließe mich zero_x an. Deine Fragen fallen unter [Hinweis] Wie poste ich richtig? Punkt 1.1.1 (und 1.1).

herbivore

Thema geschlossen