2009-12-24 73 views
0

好吧,这很难解释,但这里。 我有一个3D对象列表。对象类型称为CObject,另一类CTile则监听CObject。C#在3D列表中通过父类访问继承的成员

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

好吧现在可以说,列表中充满了正确的信息。 (可以通过代码中的breakpionts查看); 所以我进去的列表来访问一个项目像下面

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

好titleImageId是CTile的一员,但我不能使用此语法访问它。它的公众和一切。 我可以访问的所有内容都是CObject类的成员。

我希望我已尽我所能解释自己。由于

回答

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

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

的工作! 非常感谢。 – 2009-12-24 18:51:34

1

用途:

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

您应该直接索引CObjList,不使用点运算符