Я создал анонимный метод обработчика событий (не уверен, относится ли это к тому, что я думаю) внутри конструктора, но он продолжает выдавать исключение нулевой ссылки, несмотря на наличие объектов AntonioTexas и AntonioMachineInterface (общий заполнители), назначаемые при вызове конструктора в другом классе. Я использовал методы консоли, чтобы проверить, были ли они нулевыми при вызове конструктора, и это так.
Мне кажется, что я здесь что-то не понимаю.
Вот полный пример:
namespace UIForm
{
public class Form1 : Form
{
Texas texas; //substituting variable names for ones that aren't annoyingly long.
MachineInterface mInterface;
Antonio antonio;
public Form()
{
InitializeComponent();
texas = new Texas();
interface = new MachineInterface();
antonio = new Antonio()
{
AntonioTexas = texas; //objects are assigned here
AntonioMachineInterface = mInterface; //objects are assigned here
}
//...
}
}
}
namespace MachineCodeLibrary
{
public class Texas
{
public Texas()
{
//...
}
}
public class MachineInterface
{
public event EventHandler ThisIsAnEvent;
public void EventUpdate(double number)
{
ThisIsAnEventUpdate?.Invoke(this, new ThisIsAnEventUpdateArgs(number));
}
}
public class ThisIsAnEventUpdateArgs
{
public double UpdateValue {get; private set;}
public ThisIsAnEventUpdateArgs(double UpdateValue)
{
this.UpdateValue = UpdateValue;
}
}
public class Antonio()
{
public Texas AntonioTexas;
public MachineInterface AntonioMachineInterface;
double receivedValue;
public Antonio()
{
Console.WriteLine($"AntonioTexas is: {(AntonioTexas == null ? "null" : $"{AntonioTexas}")}");
Console.WriteLine($"AntonioMachineInterface is: {(AntonioMachineInterface == null ? "null" : $"{AntonioMachineInterface}")}");
//both of these return as "Antonio___ is null".
AntonioInterface.ThisIsAnEvent += (sender, e) => //NULL REFERENCE EXCEPTION FOR THIS ENTIRE METHOD.
{
receivedValue = e.UpdateValue;
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... references
Исключение нулевой ссылки, возникающее несмотря на назначение ссылок ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Исключение, возникающее в OneTimeTearDown; Тесты не отмечены как неудачные
Anonymous » » в форуме C# - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-