Autor Beitrag
Christoph1972
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Mo 22.09.08 16:56 
Hallo zusammen,


man kann die delegate void innerhalb einer Klasse deklarieren, oder im Namespace. Beides funktioniert. Wo ist jedoch der Unterschied?



ich meine so:
ausblenden 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:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: 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
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mo 22.09.08 18:03 
Mit "Raus damit" meinte ich eigentlich: _nicht_ in der Klasse :lol: .
Die genauen Guidelines findest du hier: msdn.microsoft.com/e...ibrary/ms229027.aspx

_________________
>λ=
Christoph1972 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: 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