Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

C# - Metode Anonim

Kami membahas bahwa delegasi digunakan untuk mereferensikan metode apa pun yang memiliki tanda tangan yang sama dengan delegasi. Dengan kata lain, Anda dapat memanggil metode yang dapat direferensikan oleh delegasi menggunakan objek delegasi tersebut.

Metode anonim menyediakan teknik untuk melewatkan blok kode sebagai parameter delegasi. Metode anonim adalah metode tanpa nama, hanya isi.

Anda tidak perlu menentukan jenis pengembalian dalam metode anonim; itu disimpulkan dari pernyataan kembali di dalam badan metode.

Menulis Metode Anonim

Metode anonim dideklarasikan dengan pembuatan instance delegasi, dengan delegasi kata kunci. Misalnya,

delegate void NumberChanger(int n);
...
NumberChanger nc = delegate(int x) {
   Console.WriteLine("Anonymous Method: {0}", x);
};

Blok kode Console.WriteLine("Metode Anonim:{0}", x); adalah inti dari metode anonim.

Delegasi dapat dipanggil baik dengan metode anonim maupun metode bernama dengan cara yang sama, yaitu dengan meneruskan parameter metode ke objek delegasi.

Misalnya,

nc(10);

Contoh

Contoh berikut menunjukkan konsep

Demo Langsung
using System;

delegate void NumberChanger(int n);
namespace DelegateAppl {
   class TestDelegate {
      static int num = 10;
      
      public static void AddNum(int p) {
         num += p;
         Console.WriteLine("Named Method: {0}", num);
      }
      public static void MultNum(int q) {
         num *= q;
         Console.WriteLine("Named Method: {0}", num);
      }
      public static int getNum() {
         return num;
      }
      static void Main(string[] args) {
         //create delegate instances using anonymous method
         NumberChanger nc = delegate(int x) {
            Console.WriteLine("Anonymous Method: {0}", x);
         };
         
         //calling the delegate using the anonymous method 
         nc(10);
         
         //instantiating the delegate using the named methods 
         nc =  new NumberChanger(AddNum);
         
         //calling the delegate using the named methods 
         nc(5);
         
         //instantiating the delegate using another named methods 
         nc =  new NumberChanger(MultNum);
         
         //calling the delegate using the named methods 
         nc(2);
         Console.ReadKey();
      }
   }
}

Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil sebagai berikut

Anonymous Method: 10
Named Method: 15
Named Method: 30

Bahasa C

  1. C# kelas abstrak dan metode
  2. C# Kelas Parsial dan Metode Parsial
  3. C# kelas dan metode tersegel
  4. Metode C# Overloading
  5. Fungsi Python Anonim/Lambda
  6. Kelas Anonim Java
  7. Java 8 - Metode Default
  8. C# - Metode
  9. C# - Delegasi
  10. Apa itu Metode EPA 21?