У меня есть делегатДелегат + = сфера класса оператора против местного масштаба
delegate void Del(int a, int b);
почему этот код работает:
class MyClass
{
private Del invoker;
public void SetInvoker(Del del)
{
invoker += del; //everything is ok
}
}
пока этот код не делает?
public class Program
{
static void Main(string[] args)
{
Del invoker += new Del(Display); //error! Invalid expression term '+='
}
static void Display(int a, int b)
{
}
}
это довольно странно, потому что в обоих случаях Вызывающий является нуль перед инициализацией (перед использованием оператора + =)
'частных статических Del Вызывающий;' –
«этот код не» не является полезным описанием проблемы - особенно когда вы должны получать ошибку компилятора, укажите * текст * сообщения об ошибке. –
@Damien_The_Unbeliever Я добавил ошибку – Wachburn