[SOLVED] - Ошибка была моей, что я не связывал World (world_) с сущностью, так что это было null. Спасибо за объяснение всем!Требуется переменная - чтобы избежать исключения NullReferenceException?
Как вы уже знаете, я делаю движок игры/рамки, и я застрял связывая материал со ссылками друг на друга.
Пример:
public void Attach(Entity Entity)
{
entity_ = Entity;
entity_.world_.renderer_.AddComponent(this);
}
линия, которая добавляет компонент к визуализатору терпит неудачу с NullObjectException. Моя идея состояла в том, что это потому, что внутри реализации класса (если объект еще не определен), но такая вещь работала в следующем фрагменте кода:
public TGSGame()
{
...
Renderer = new RenderManager(this);
...
}
Та часть кода находится внутри реализации класса TGSGame слишком !
У кого-нибудь есть идея, как я могу преодолеть это исключение?
Не из этих значений null, я проверял и отлаживал шаг за шагом. Но проблема возникла и в куске тестового кода, когда я передал «это» в качестве параметра. Еще одно замечание: код, в котором есть исключение, находится в библиотеке, на которой зависит игровая часть, может быть, это может быть проблемой? (Мысль, что исключение возникает в коде, относящемся только к dll) – Johnny
@Johnny - если ни одна из этих вещей не является «нулевой», тогда проблема заключается в коде, который вы не показываете нам (предположительно внутри 'AddComponent'). Вы посмотрели на трассировку стека? (например, поймав «Исключение»). Как выглядит трассировка стека? –
Проблема не в AddComponent, это было в части для связывания World to Entity. Спасибо за помощь и быстрый ответ! – Johnny