Jungbluth
Mitglied
Hallo,
da ich nicht ganz weiß ich das ganze beschreiben soll entschuldige ich mich schon mal falls Unterforum oder Threadname nicht ganz passend sind.
Mein Problem ist nun das ich beim zweiten Argument von Pre eine ArgumentNullException bekomme obwohl es immer ein Array aus der Klasse Sonderfertigkeiten ist welche alle hardcoded sind und deswegen nicht null sein dürften.
da ich nicht ganz weiß ich das ganze beschreiben soll entschuldige ich mich schon mal falls Unterforum oder Threadname nicht ganz passend sind.
C#:
public static class Sonderfertigkeiten
{
// beispielhaft für alle string arrays
public static readonly string[] hexenfluch = new string[]
{
"Ängste mehren",
"Beiß auf Granit!",
"Beute!",
"Hagelschlag",
"Hexenschuss",
"Juckreiz verursachen",
"Kornfäule",
"Krötenkuss",
"Mit Blindheit schlagen",
"Pech an den Hals wünschen",
"Pestilenz",
"Schlaf rauben",
"Todesfluch",
"Unfruchtbarkeit",
"Viehverstümmelung",
"Warzen sprießen",
"Zunge lähmen"
};
public static string[] GetByGroup(string sonderfertigkeitengruppe)
{
switch (Internals.UCFirst(sonderfertigkeitengruppe))
{
case "Allgemein":
return allgemein;
case "Gelaendekunde":
return gelaendekunde;
case "Fernkampf":
return fernkampf;
case "Nahkampf":
return nahkampf;
case "Manoever":
return manoever;
case "Magisch":
return Internals.GetList(new string[][]{
magisch,
objektritual_allgemein,
geode_weiteres,
kristallomantenritual,
Internals.Pre("Hexenfluch:", hexenfluch),
Internals.Pre("Druidisches Herrschaftsritual:", herrschaftsritual),
Internals.Pre("Zaubertanz:", zaubertanz),
Internals.Pre("Zibilja-Ritual:", zibiljaritual),
Internals.Pre("Trommelzauber:", trommelzauber),
Internals.Pre("Gabe des Odun:", derrodunritual),
Internals.Pre("Zauberzeichen:",zauberzeichen),
Internals.Pre("Runen:",runen),
});
case "Merkmalskenntnis":
return Aventurien.Zauber.merkmalsliste;
case "Ritualkenntnis":
return ritualkenntnis;
case "Objektritual":
return Internals.GetList(new string[][] {
objektritual_allgemein,
Internals.Pre("Stabzauber:", stabzauber),
Internals.Pre("Kugelzauber:", kugelzauber),
Internals.Pre("Schalenzauber:", schalenzauber),
Internals.Pre("Druidisches Dolchritual:", dolchritual),
Internals.Pre("Keulenritual:", keulenritual),
Internals.Pre("Keulenzauber:", keulenzauber),
Internals.Pre("Schlangenring-Zauber:", schlangenringritual)
});
case "Schamanenritual":
return schamanenritual;
case "Elfenlied":
return elfenlied;
case "Repraesentation":
return Aventurien.Zauber.repraesentationsliste;
case "Geweiht":
return Internals.GetList(new string[][] { geweiht, Aventurien.Liturgien.liturgienliste });
default:
throw new ArgumentException("Die wählte Sonderfertigkeitengruppe existiert nicht.");
}
}
}
internal static class Internals
{
internal static string[] Pre(string prefix, string[] array)
{
string[] output = new string[array.Length];
for(int i = 0; i < array.Length; i++)
{
output[i] = prefix + " " + array[i];
}
return output;
}
}
Mein Problem ist nun das ich beim zweiten Argument von Pre eine ArgumentNullException bekomme obwohl es immer ein Array aus der Klasse Sonderfertigkeiten ist welche alle hardcoded sind und deswegen nicht null sein dürften.