Entwickler-Ecke
C# - Die Sprache - Frage zu Event deklaration
Christoph1972 - Mo 22.09.08 16:56
Titel: Frage zu Event deklaration
Hallo zusammen,
man kann die delegate void innerhalb einer Klasse deklarieren, oder im Namespace. Beides funktioniert. Wo ist jedoch der Unterschied?
ich meine so:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| namespace EventTest { public delegate void MyDelegate(String Message);
public partial class Form2 : Form { public Form2() { InitializeComponent(); } public event MyDelegate MyEvent; |
oder so:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| namespace EventTest { public partial class Form2 : Form { public Form2() { InitializeComponent(); }
public delegate void MyDelegate(String Message); public event MyDelegate MyEvent; |
Sorry für soeine Frage, aber ich komme eigentlich von VB.Net.......
Gruß
Christoph
Kha - Mo 22.09.08 17:42
Ganz allgemein sind Nested Types (die gibt's auch in VB) nur in wenigen Szenarien nützlich, und public sollten sie nimmernie sein. Ergo: Raus damit.
Speziell zu deinem Delegate: Der einzige Unterschied besteht darin, wie der Delegate von außen angesprochen wird, was du wahrscheinlich nie tun müssen wirst: MyDelegate vs Form2.MyDelegate.
Christoph1972 - Mo 22.09.08 17:53
Ah ja Ok, dann werde ich die delegate void immer in der Klasse deklarieren. Danke!
Ganz allgemein sind Nested Types (die gibt's auch in VB) nur in wenigen Szenarien nützlich, und public sollten sie nimmernie sein. Ergo: Raus damit. Was du mir damit sagen möchtest verstehe ich leider nicht! :gruebel:
Gruß
Christoph
Christoph1972 - Mo 22.09.08 20:37
Ja gut, da habe ich wohl wieder mal was falsch verstanden :lol: Ok, also war mein erstes Beispiel richtig, ja? So habe ich das gerade auch noch mal nachgelsen.
Gruß
Christoph
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!