Answer the question
In order to leave comments, you need to log in
Question about the delegate class and the parameters it takes?
hello everyone, just started learning about delegates. there is this example:
// Класс, метод которого будет сообщен с делегатом.
static class MyClass
{
// Создаем статический метод, который планируем сообщить с делегатом.
public static void Method()
{
Console.WriteLine("Строку вывел метод сообщенный с делегатом.");
}
}
// На 21-й строке создаем класс-делегата с именем MyDelegate,
// метод, который будет сообщен с экземпляром данного класса-делегата,
// не будет ничего принимать и не будет ничего возвращать.
public delegate void MyDelegate(); // Создаем класс делегата. (1)
class Program
{
static void Main()
{
MyDelegate myDelegate = new MyDelegate(MyClass.Method); // Создаем экземпляр делегата. (2)
myDelegate.Invoke(); // Вызываем метод сообщенный с делегатом. (3)
myDelegate(); // Другой способ вызова метода сообщенного с делегатом. (3')
// Delay.
Console.ReadKey();
}
}
public delegate void MyDelegate(); // Создаем класс делегата. (1)
public static void Method()
{
Console.WriteLine("Строку вывел метод сообщенный с делегатом.");
}
Answer the question
In order to leave comments, you need to log in
Answering your question - this is a specific case of constructing a delegate class reported with a given method.
When you create a delegate class ( public delegate void MyDelegate();
) you specify the signature of methods that can then be communicated with that delegate.
As an example, here is a delegate with accepted parameters and a return value.
You can now communicate methods with the same signature with this delegate. for example
public static int Sum(int a, int b)
{
return a+b;
}
class Program
{
static void Main()
{
MyDelegate myDelegate = new MyDelegate(MyClass.Sum);
int result = myDelegate(5, 10);
}
}
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question