Natija:
Quyidagi rasm delegatni tasvirlaydi:
Delegatni Parametr sifatida uzatish
Metod quyida ko'rsatilgandek, Delegat turi parametriga ega bo'lishi mumkin:
using System;
namespace Delegate
{
public delegate void MyDelegate(string msg);
class Program
{
static void Main(string[] args)
{
MyDelegate del = ClassA.MethodA;
InvokeDelegate(del);
del = ClassB.MethodB;
InvokeDelegate(del);
del = (string msg) => Console.WriteLine("Lambda ifodaning ishlatilishi: " + msg);
InvokeDelegate(del);
}
static void InvokeDelegate(MyDelegate del) // MyDelegate parametr turi
{
del("Hello World");
}
}
class ClassA
{
public static void MethodA(string message)
{
Console.WriteLine("ClassA.MethodA() metodi chaqirildi: " + message);
}
}
class ClassB
{
public static void MethodB(string message)
{
Console.WriteLine("ClassB.MethodB() metodi chaqirildi: " + message);
}
}
}
Do'stlaringiz bilan baham: |