Heim > Backend-Entwicklung > C#.Net-Tutorial > Wie deklariere und instanziiere ich Delegaten in C#?

Wie deklariere und instanziiere ich Delegaten in C#?

WBOY
Freigeben: 2023-09-04 20:01:05
nach vorne
1420 Leute haben es durchsucht

Wie deklariere und instanziiere ich Delegaten in C#?

C#-Delegaten ähneln Funktionszeigern in C oder C++. Ein Delegat ist eine Referenztypvariable, die einen Verweis auf eine Methode enthält. Referenzen können zur Laufzeit geändert werden.

Syntax zum Deklarieren eines Delegaten -

delegate <return type> <delegate-name> <parameter list>
Nach dem Login kopieren

Jetzt sehen wir uns an, wie man einen Delegaten in C# instanziiert.

Nachdem Sie den Delegate-Typ deklariert haben, müssen Sie das neue Schlüsselwort verwenden, um das Delegate-Objekt zu erstellen und es einer bestimmten Methode zuzuordnen. Wenn Sie einen Delegaten erstellen, werden die an den neuen Ausdruck übergebenen Parameter wie ein Methodenaufruf geschrieben, jedoch ohne die Parameter der Methode.

public delegate void printString(string s);
...
printString ps1 = new printString(WriteToScreen);
printString ps2 = new printString(WriteToFile);
Nach dem Login kopieren

Hier ist ein Beispiel für die Deklaration und Instanziierung eines Delegaten in C# –

Beispiel

Live-Demonstration

using System;

delegate int NumberChanger(int n);
namespace DelegateAppl {

   class TestDelegate {
      static int num = 10;

      public static int AddNum(int p) {
         num += p;
         return num;
      }

      public static int MultNum(int q) {
         num *= q;
         return num;
      }

      public static int getNum() {
         return num;
      }

      static void Main(string[] args) {
         //create delegate instances
         NumberChanger nc1 = new NumberChanger(AddNum);
         NumberChanger nc2 = new NumberChanger(MultNum);

         //calling the methods using the delegate objects
         nc1(25);
         Console.WriteLine("Value of Num: {0}", getNum());
         nc2(5);
         Console.WriteLine("Value of Num: {0}", getNum());
         Console.ReadKey();
      }
   }
}
Nach dem Login kopieren

Ausgabe

Value of Num: 35
Value of Num: 175
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie deklariere und instanziiere ich Delegaten in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage