2009-12-24 3 views
0

Ok, c'est difficile à expliquer, mais voilà. J'ai une liste d'objets 3D. Le type d'objets sont appelés CObject, la CObject d'une autre classe CTile.C# Accès aux membres hérités via la classe parente dans une liste 3D

 static public List<List <List <CObject>>> CObjList 
        = new List<List<List<CObject>>>(); 

Ok, disons maintenant que la liste est remplie d'informations correctement. (Peut être vu via breakpionts dans le code); Je vais donc accéder à un élément dans la liste ci-dessous comme

CObjList.[0][0][0].titleImageId 

Ok titleImageId est membre de CTile, mais je ne peux pas y accéder en utilisant cette syntaxe. Son public et tout. Tout ce que je peux accéder sont les membres de la classe CObject.

J'espère que je me suis expliqué de mon mieux. Merci

Répondre

2
((CTile)CObjList[0][0][0]).titleImageId 

ou

(CObjList[0][0][0] as CTile).titleImageId 
+0

Ce travail! Merci beaucoup. –

1

Utilisation:

CList l = CObjList[0][0][0] as CList; 
if(l != null) 
    id = l.titleImageId 

Vous devez indexer le CObjList directement, sans l'aide d'un opérateur point

Questions connexes