Я создал анонимный метод обработчика событий (не уверен, относится ли это к тому, что я думаю) внутри конструктора, но он продолжает выдавать исключение нулевой ссылки, несмотря на наличие объектов 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#
Место общения программистов C#
1728576858
Anonymous
Я создал анонимный метод обработчика событий (не уверен, относится ли это к тому, что я думаю) внутри конструктора, но он продолжает выдавать исключение нулевой ссылки, несмотря на наличие объектов 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;
}
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79075300/null-reference-exception-occurring-despite-assigning-references[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия