Я новичок в разработке c #. Я просто пытаюсь изучить функцию делегата. Основываясь на статьях и заметках о делегатах, которые я читал, я попытался написать пример кода для реализации делегата на основе того, что я понял из этих заметок и статей.
Но я получаю сообщение об ошибке при запуске образца
"Ссылка на объект не установлена для экземпляра объекта."
В чем здесь проблема? или я правильно реализовал делегата? или моя концепция о делегате неверна? ..
Пожалуйста, помогите. Заранее спасибо.
Я разместил свой код ниже.
Default.aspx.cs
public partial class _Default : System.Web.UI.Page
{
TestClass myObject = new TestClass();
protected void Page_Load(object sender, EventArgs e)
{
myObject.MyDelegateEvent += new TestClass.MyDelegate(myObject_MyDelegateEvent);
}
void myObject_MyDelegateEvent(object sender, EventArgs e)
{
Console.WriteLine("Delegate event called");
}
}
TestClass
public class TestClass
{
public delegate void MyDelegate(object sender, EventArgs e);
public event MyDelegate MyDelegateEvent;
public TestClass()
{
MyDelegateEvent(this, null); // Here getting error "Object reference not set to an instance of an object."
}
}