arraylist
14 svar · 298 visningar · startad av icaaq
fick denna av renholm
[red]foreach(object obj in arr)
{
place.Controls.Add(new LiteralControl(obj.nummer));
}
[/red]
men jag får 'object' does not contain a definition for 'Nummer'
Fältet nummer existerar inte i din klass som obj instansierar.
Du borde vara tvungen att cast:a object:et 'obj' till den klass som det egentligen är, när jag tittar lite nogrannare. :)
[red]
while(dr.Read())
{
DOMARE dom = new DOMARE();
dom.Nummer = Convert.ToInt32(dr["f_domarnr"]);
dom.Fornamn = Convert.ToString(dr["f_person_fornamn"]);
dom.Efternamn = Convert.ToString(dr["f_person_efternamn"]);
dom.Id = Convert.ToInt32(dr["id"]);
arr.Add(dom);
}
dr.Close();[/red]
Och det gör jag hur?
Hm, av din kod förstår jag ingenting ( Har fortfarande inte öppnat någon av de tre böcker om .NET som jag äger ), men cast:a borde du enkelt kunna göra så här:
...
place.Controls.Add(new LiteralControl( ( ( DinKlass ) obj ).nummer));
...
Eller för att göra det lite tydligare:
DinKlass klassen = ( DinKlass ) obj;
place.Controls.Add(new LiteralControl( klassen.nummer));
Första är att föredra, eftersom att alt. 2 skapar ett nytt objekt varje gång loopen körs.
[red]
foreach(object obj in arr)
{
place.Controls.Add(new LiteralControl(((DOMARE)obj).Nummer.ToString()));
}[/red]
blev det
Det var ju det jag sa. :e
nästa problem.....hur separerar jag den resulterande arrayen med. det ska alltså bli en array som ser ut som http://www.webforum.nu/showthread.php?s=&postid=728302#post728302
[red]
Domare dom = new Domare();
ArrayList arr = dom.arraylist();
foreach(object obj in arr)
{
place.Controls.Add(new LiteralControl(((DOMARE)obj).Nummer.ToString()));
place.Controls.Add(new LiteralControl(","));
}
place.Controls.RemoveAt(place.Controls.Count - 1);[/red]
\"