Jag har en klass, (som är skapad från en xsd), och i den ligger något i stil med: du måste ju alltså bestämma storleken på arrayen och nånstans göra Mmm, jag kan inte ändra på xsd:n, den är det andra som skapar (namnen på elementen är otroligt långa, så jag kortade ner dom till den eleganta xx- och yy- notationen :) för att få plats här. Det luriga här är just att jag inte vet antalet förekomster i detta läge, men får väl ta till ordentligt istället även om det känns lite udda. Nu flyttar jag bara in den färdiga arrayen till övernivån och returnerar den, och det funkar bra, verkar det som. xsd.exe. Körs från kommadpromptern (VS2005) och genererar en klass från xsd:n.Initiera array i class från xsd
public partial class xx_Spec_rader {
private xx_Spec_raderxx_Spec_rader[] itemsField;
public xx_Spec_raderxx_Spec_rader[] Items {
get {
return this.itemsField;
}
set {
this.itemsField = value;
}
}
}
public partial class xx_Spec_raderxx_Spec_rader {
private int yyAnst_IDField;
public int yyAnst_ID {
get {
return this.yyAnst_IDField;
}
set {
this.yyAnst_IDField = value;
}
}
}
Så, jag skapar en instans: xx_Spec_rader xxAll = new xx_Spec_rader();
och en: xx_Spec_raderxx_Spec_rader xxRow = new xx_Spec_raderxx_Spec_rader();
Fyller i ett värde typ: xxRow.yyAnst_ID = 2;
Sen vill jag fylla i den övergripande arrayen items (som väl ska vara en array av xx_Spec_raderxx_Spec_rader, alltså xxRow) genom: xxAll.Items[1] = xxRow;
Men då smäller det på 'Object reference not set to an instanceof an object'.
xxAll.Items[1] har värdet = null vid detta försök. Jag gissar att arrayen måste initieras på något sätt, men kan inte lista ut hur. Har någon ett tips att ge?
/SSv: Initiera array i class från xsd
= new xs_Spec_raderxx_Spec_rader[/*lämpligt värde*/];
sen det där med att bestämma lämpligt värde kanske inte alla gånger är helt trivialt, så enklare skulle det ju vara ifall den hade gjort t.ex.
List<xs_Spec_raderxx_Spec_rader> itemsField;
..men vet inte ifall du kan pilla på det som genererar klassen.
ps. namngivningen suger ... :)
Sv:Initiera array i class från xsd
Man tackar.Sv:Initiera array i class från xsd