Здравствуйте.
Есть класс:
public class ExampleClass
{
public delegate void SomeHandler(string message);
public event SomeHandler SomeEvent;
public void Method()
{
SomeEvent("Hello world!");
}
}
Если делать вызов так:
private void button1_Click(object sender, System.EventArgs e)
{
ExampleClass cl = new ExampleClass();
cl.SomeEvent += new Application1.ExampleClass.SomeHandler(cl_SomeEvent);
cl.Method();
}
private void cl_SomeEvent(string message)
{
MessageBox.Show(message);
}
То ошибок нет.
А если так:
private void button1_Click(object sender, System.EventArgs e)
{
ExampleClass cl = new ExampleClass();
cl.Method();
}
То при генерации события вылетит эксепшн:
An unhandled exception of type 'System.NullReferenceException' occurred.
Additional information: Object reference not set to an instance of an object.
Как это обойти, когда на форму кидаешь кнопку, обработчик события ведь можно и не делать, а здесь?
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Если я не ошибаюсь, то ты пытаешься из класса ExampleClass
при вызове в нем Method() породить в классе где создан экземпляр ExampleClass'а (форма) некоторое событие (передать строку из ExampleClass) не назначив при этом приёмника этого события в родителе. Поэтому при попытке отправить сообщение неизвестному адресату и возникает ошибка 'System.NullReferenceException'.
Можешь написать, если речь идет о показе сообщения

, так:
[c#]public class ExampleClass
{
public void Method(string message)
{
MessageBox.Show(message);
}
}[/c#]
---
PS: Сначала подумай, затем напиши!
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
If the message above is in English — means I'm wasting my work time and work computer to post here. No hard feelings