2012-04-08 6 views
0

Ich versuche, ein Installationsskript für Nexus Mod Manager (Nmm) für das Spiel Skyrim zu machen. Wenn Sie mit nmm nicht vertraut sind, können Sie Skripte schreiben, um Mod-Installationen einfach und dynamisch zu machen. Sie haben die Möglichkeit, xml oder C# zu verwenden. Ich mache das letztere. Ich kann den folgenden Code nicht zum Kompilieren bekommen (durch kompilieren ich bedeute, dass nmm mir einen Fehler gibt). Ich bin neu in C#, also mache ich wahrscheinlich etwas grundsätzlich falsch. Ich erhalte einen Fehler: "Objektreferenz wurde nicht auf eine Instanz eines Objekts gesetzt". Ich habe ein wenig über diesen Fehler gelesen, verstehe aber nicht, was ich falsch mache.gezackten Array von Klassen (Installationsskript für Nexus Mod Manager)

Anyways, hier einige meiner Code:

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"; 
    } 
} 

Mein Problem tritt auf, wenn ich versuche, die Klassenvariablen zuzuweisen. Wenn ich die letzten drei Zeilen in der for-Schleife auskommentiere, kompiliert der Code gut. Natürlich beabsichtige ich, GetRaces zu erweitern, aber ich muss das zuerst erledigen.

Antwort

1

Sie sind eine Reihe von Rennen der Länge zu schaffen 1, aber Sie haben noch ein Rennen Objekt innerhalb des Arrays zu erstellen:

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

Danke, wusste ich, dass ich etwas aus verlassen. –