Laden...

Instanz einer Struct in einer ArrayList

Erstellt von davechu vor 16 Jahren Letzter Beitrag vor 16 Jahren 945 Views
D
davechu Themenstarter:in
46 Beiträge seit 2006
vor 16 Jahren
Instanz einer Struct in einer ArrayList

Hi,
ich möchte eine ArrayList mit Werten von einem eigenen Typ füllen. Es funktioniert anscheinend, aber sobald ich auf eine Eigenschaft zugreife, sagt mir der Debugger, dass es die nicht gibt:

test.cs(26,22): error CS0117: 'object' does not contain a definition for 'Title'

using System;
using System.Collections;

class Sample
{
	struct Album
	{
    	public int ID;
        public string Title;
        public string Artist;
        public string Link;
        public int Priority;
    }

	static void Main()
 	{
 		ArrayList testit = new ArrayList();
 		Album testalbum = new Album();
 		testalbum.ID = 12;
 		testalbum.Title = "titel";
 		testalbum.Artist = "kuenstler";
 		testalbum.Link = "www.kuenstler.de";
 		testalbum.Priority = 5;
 		testit.Add(testalbum);
 		
 		Console.WriteLine(testit[0].Title);
	}
}

Was mache ich falsch?

A
138 Beiträge seit 2007
vor 16 Jahren

Hallo,
eine ArrayList legt die Elemente unter dem Typ 'object' ab, bevor du also wieder auf Eigenschaften & Methoden eines Elementes zurückgreifen musst, musst du es entsprechend kasten.

Also:
((meine_klasse)arraylist[0]).MeineEigenschaft = ...

Wenn du .Net 2.0 oder höher verwendest, solltest du generische Listen verwenden

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo chri,

und da das nicht der erste Syntaxfehler ist, nach dem du fragst, siehe [Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen)

herbivore

PS: Bitte poste Fehlermeldungen nicht in CODE-Tags sondern in QUOTE-Tags.