Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengisytiharkan dan mengisytiharkan perwakilan dalam C#?

Bagaimana untuk mengisytiharkan dan mengisytiharkan perwakilan dalam C#?

WBOY
WBOYke hadapan
2023-09-04 20:01:051340semak imbas

Bagaimana untuk mengisytiharkan dan mengisytiharkan perwakilan dalam C#?

C# delegasi adalah serupa dengan penunjuk fungsi dalam C atau C++. Perwakilan ialah pembolehubah jenis rujukan yang memegang rujukan kepada kaedah. Rujukan boleh ditukar semasa masa jalan.

Sintaks untuk mengisytiharkan perwakilan -

delegate <return type> <delegate-name> <parameter list>

Sekarang mari lihat cara untuk membuat instantiate perwakilan dalam C#.

Selepas mengisytiharkan jenis perwakilan, anda mesti menggunakan kata kunci baharu untuk mencipta objek perwakilan dan mengaitkannya dengan kaedah tertentu. Apabila anda membuat perwakilan, argumen yang dihantar kepada ungkapan baharu ditulis seperti panggilan kaedah, tetapi tanpa argumen kaedah.

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

Berikut ialah contoh pengisytiharan dan pengisytiharan perwakilan dalam C# -

Contoh

Demonstrasi Langsung

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();
      }
   }
}

Output

Value of Num: 35
Value of Num: 175

Atas ialah kandungan terperinci Bagaimana untuk mengisytiharkan dan mengisytiharkan perwakilan dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam