2013-11-10 4 views
0

Я не могу заставить эту работу работать, я получаю сообщение об ошибке после открытия моего файла проекта C# (.exe), и он говорит: «Ссылка на объект не задана к экземпляру объекта ". Вот строка и одна под ней.Ссылка на объект не установлена ​​в экземпляр объекта (C#)

// Update the actual position 

Actor.Position = new Vector3(
         Actor.PositionToSet.X, 
         Actor.PositionToSet.Y, 
         (Math.Round(
          GetUserStepHeight(
           Actor.PositionToSet), 
           1))); 

Actor.PositionToSet = null; 

ответ

1

Возможность есть, либо 1. Actor является null или 2. Actor.PositionToSet является null.

Чтобы проверить, либо есть это:

if(Actor == null){ 
    System.Console.WriteLine("Actor is NULL"); 
} 

if(Actor.PositionToSet == null){ 
    System.Console.WriteLine("Actor.PositionToSet is NULL"); 
} 

или использовать построчно отладчик в Visual Studio.

Вот совет, который я получил лет назад:

  1. Подумайте, прежде чем код, и построить ментальную модель кода, тогда, когда вещи ломаются, просто отражают на то, что пошло не так, не глядя код.

  2. Удостоверяйте свой код, сделайте его стандартной практикой вашей методологии кодирования. Это сэкономит вам много времени отладки.

+0

well Actor.PositionToSet is null ???? – user2975533

+0

@ user2975533 это NULL? Actor.PositionToSet? –

+0

ну строка говорит Actor.PositionToSet = null; на следующей строке. основная линия - средняя. – user2975533

0

Пожалуйста, убедитесь, что Actor или Actor.PositionToSet не является нулевым. Это единственная причина.

+0

Извините, но я новый, как?: S – user2975533

Смежные вопросы