2012-04-08 1 views
0

Я пытаюсь сделать установочный скрипт для Nexus Mod Manager (nmm) для игры Skyrim. Если вы не знакомы с nmm, вы можете писать сценарии, чтобы упростить и динамически модифицировать mod. У вас есть возможность использовать xml или C#. Я делаю последнее. Я не могу получить код ниже для компиляции (компиляция я имею в виду, что nmm даст мне ошибку). Я новичок в C#, поэтому я, вероятно, делаю что-то принципиально неправильное. Я получаю сообщение об ошибке: «Ссылка на объект не установлена ​​в экземпляр объекта». Я немного прочитал об этой ошибке, но не понимаю, что я делаю неправильно.jagged array of classes (установить скрипт для Nexus Mod Manager)

В любом случае, вот некоторые из моего кода:

static int maxRaceMods = 100; 
static Race[][] raceOption = new Race[maxRaceMods][]; 
class Race 
{ 
    public string Name { get; set; } 
    public string PathMeshes { get; set; } 
    public string PathTextures { get; set; } 
} 
static void GetRaces() 
{ 
    for (int i = 0; i < raceOption.Length; i++) 
    { 
     raceOption[i] = new Race[1]; 
     raceOption[i][0].Name = "unknown"; 
     raceOption[i][0].PathMeshes = "unknown"; 
     raceOption[i][0].PathTextures = "unknown"; 
    } 
} 

Моя проблема происходит, когда я пытаюсь присвоить переменным класса. Если я прокомментирую последние три строки в цикле for, код компилируется отлично. Очевидно, я планирую расширить GetRaces, но мне нужно сначала запустить эту работу.

ответ

1

Вы создаете массив Races длины 1, но вы все равно должны создать объект Race внутри массива:

raceOption[i] = new Race[1]; 
    raceOption[i][0] = new Race(); 
    raceOption[i][0].Name = "unknown"; 
+0

Спасибо, я знал, что что-то из чего. –

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

  • Нет связанных вопросов^_^