 |
 |
Delegierte in C#. Netz:
|
Wenn wir C++ betrachten, gibt es eine Eigenschaft, die Wiederholungsbesuch Funktion genannt wird. Diese Eigenschaft benutzt Zeiger zu den Funktionen, um sie als Parameter zu anderen Funktionen zu f�hren. Delegierter ist eine �hnliche Eigenschaft, aber es ist mehr Art Safe, die da ein steifer Kontrast mit C++ Funktion Zeigern steht. Ein Delegierter kann reference/s bis eins halten mehr Funktionen und sie wie und wann erforderliches hervorrufen.
|
Ein Delegierter ben�tigt der den Namen und seine Parameter Methode (Eingang und Zustandsgr��en) wenn wir einen Delegierten herstellen. Aber Delegierter ist nicht ein alleinstehender Aufbau. es ist eine Kategorie. Jeder m�glicher Delegierte wird von der niedrigen Delegiertkategorie der .NET Kategorie Bibliothek �bernommen, wenn es erkl�rt wird. Dieses kann von den zwei Kategorien von System.Delegate oder vom System sein entweder. MulticastDelegate.
|
Wenn der Delegierte eine R�ckholart L�cke enth�lt, dann ist sie aliased automatisch zur Art von System.MulticastDelegate. Dieses kann mehrfache Funktionen mit einem += Operator st�tzen. Wenn der Delegierte eine nicht-leere R�ckholart dann enth�lt, ist sie aliased zum System. Delegiertkategorie und -sie k�nnen nicht mehrfache Methoden st�tzen.
|
Uns einen Blick am folgenden Beispielcode haben lassen.
|
class Figure
{
public Figure(float a, float b, float c)
{
m_xPos = a;
m_yPos = b;
m_zPos = c;
}
public void InvertX()
{
m_xPos = - m_xPos;
}
public void InvertY()
{
m_yPos = - m_yPos;
}
public void InvertZ()
{
m_zPos = - m_zPos;
}
private float m_xPos = 0;
private float m_yPos = 0;
private float m_zPos = 0;
}
|
|
Jetzt haben wir eine Kategorie, die Figure genannt wird und sie hat drei privat auff�ngt diesen Gebrauch, Position und drei Methoden zu speichern, um diese Position durch jede Mittellinie umzukehren. In der Hauptkategorie erkl�ren wir Delegierten, wie folgt:
|
public delegate void FigureDelegate();
|
|
Und jetzt in der Hauptfunktion sollten wir sie verwenden m�gen dieses:
|
Figure figure = new Figure(10,20,30);
FigureDelegate fx = new FigureDelegate(figure.InvertX);
FigureDelegate fy = new FigureDelegate(figure.InvertY);
FigureDelegate fz = new FigureDelegate(figure.InvertZ);
MulticastDelegate f_del = fx+fy+fz;
|
|
In diesem Beispiel verursachen wir drei Delegierte FigureDelegate Art und bringen zu diesen Elementen unsere drei Methoden von der Abbildung Kategorie an. Jetzt h�lt jeder Delegierte die Adresse der angebrachten Funktion. Die letzte Linie des Codes ist sehr interessant, hier stellen wir einen Delegierten der niedrigen Art (MulticastDelegate) her und bringen drei unserer bereits hergestellten Delegierten an. W�hrend alle unsere Methoden von der L�cke R�ckkehrart sind, sind sie automatisch von der Art MutlticastDelegate und ein MulticastDelegate kann mehrfache Methoden Anforderung auch st�tzen. Folglich k�nnen wir schreiben
|
Figure figure = new Figure(10,20,30);
FigureDelegate fMulti = new FigureDelegate(figure.InvertX);
fMulti += new FigureDelegate(figure.InvertY);
fMulti();
|
|
 |
 |
Schl�sselwortDelegierte in C#. Netz, c# c++, c# dotnet, c# Art, c# datagrid, c# Gegenstand, Delegierte vb, c# Wert, Sichtc#, c# Methode, c# Steuerung, c# Beispiel, vb c#, System c#, c# Anwendung, c# Probe, c# Projekt, c# Form, Bekehrter c#, csharp c#, kundenspezifisches c#, addieren c#, c# verursachen
|