Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1550 | Anzahl registrierter User: 1839 | Besucher online: 9
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Delegate (Events)


Autor: freak
Sprache: C#
Bewertung:
4.68 (6 votes)
Anzahl der Aufrufe: 21457
  
Kick it on dotnet-kicks.de  

Beschreibung:

Auslösen eines Events

Abgelegt unter: Event, Delegate.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//Ein Delegate beschreibt, wie eine Funktion aufgerufen
//wird! (Eine Klasse von Funktion!)
public delegate void NeuerEventHandler();
//Es können auch Variable übergeben werden
public delgate void NeuerEventHandler2(string EineVariable);


//Event anlegen
public event NeuerEventHandler EventNeu;

public event NeuerEventHandler2 EventNeu2;


private void Button_Click(object sender, EventArgs e)
{
  //Auslösen des Events
  if (EventNeu != null)
    EventNeu();

  if (EventNeu != null)
    EventNeu(EineVariable);
}

//*********************************************************
//Diese Methode wird automatisch durch ein Doppelklick in
//Ereignisse des jeweiligen Controls (z.B. ein UserControl),
//was dieses Event beinhaltet, erzeugt.
private void EventNeu()
{
  //Hier können nun die Aktionen stehen, die das Event
  //bewirken sollen
}
private void EventNeu(string EineVariable)
{
  //Hier können nun die Aktionen stehen, die das Event
  //bewirken sollen
}

Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

AKR schrieb am:  29.05.2006 11:56:23

So ein Unfug... wer events nicht richtig verstanden hat, der sollte auch kein Snippet schreiben...

Der Code oben kann nicht compiliert werden, weil Event einmal ein event sein soll und ein zweites mal als private void Methode deklariert wird.
So funktionieren auch keine Events.

Vielleicht erst noch mal in einem gescheiten Buch nachlesen?
Elvis schrieb am:  24.10.2006 00:10:52

Um mich meinem Vorredner anzuschließen (nur nicht ganz so destruktiv ;-) ).

Delegates sind immutable, d.h. wenn jemand eine weitere Instanz in die Liste packt wird eine neue Instanz des zugewiesenen Events angelegt.
Zwischen der Prüfung gegen null und dem Ausführen kann die Instanz also zu null geändert werden!

Das hier:
  //Auslösen des Events
if (EventNeu != null)
EventNeu();

Hätte so aussehen müssen:
  SomeDelegateType someEvent = this.SomeEvent;

//Auslösen des Events
if (someEvent != null)
someEvent();


Vielleicht sollte man das auch den Typen erklären, die die .Net SDK Docs schreiben. *g*


schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.