Bagaimana untuk mengisytiharkan dan mengisytiharkan perwakilan dalam C#?

WBOY
Lepaskan: 2023-09-04 20:01:05
ke hadapan
1402 orang telah melayarinya

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>
Salin selepas log masuk

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);
Salin selepas log masuk

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();
      }
   }
}
Salin selepas log masuk

Output

Value of Num: 35
Value of Num: 175
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan