当前位置:  开发笔记 > 编程语言 > 正文

如何通过反射访问Generic.List的索引?

如何解决《如何通过反射访问Generic.List的索引?》经验,为你挑选了1个好方法。

好吧,我有一个类,我传递一个对象作为属性.

我传递的对象是 List

在我的班级我试图通过反射访问对象索引,但我不能!

例:

这节课的作品我写下了我想给你看的部分,我需要帮助.

class MyClass
{
    private object _recordSet;
    public object RecordSet
    {
        get { return _recordSet; }
        set { _recordSet = value; }
    }

    public string Draw()
    {
        system.reflection.Assembly asem = system.reflection.Assembly.getAssembly(_dataSource.GetType());

        object instance;

        instance = asem.CreateInstance(_dataSource.GetType().UnderlyingSystemType.FullName);

        //to access de Count of my List
        int recordcount = int.Parse(_dataSource.GetType().GetProperty("Count").GetValue(_dataSource,null));

        //i need to do a 
        for(int cont = 0; cont < recordCount; cont++)
        {
            _dataSource[cont].Name; // <-- THIS PART IS NOT WORKING!!! because i cant access the Index Directly.... WHAT TO DO!! ???
        }
    }
}

Marc Gravell.. 5

如果你正在使用反射(因此很多object),为什么不直接转换为IList(非泛型)呢?

IList list = (IList)actualList;
object foo = list[17];

另外 - 对于你的原始代码Count,你并不意味着int.Parse- 你应该只是演员(因为我们希望Count是一个int).



1> Marc Gravell..:

如果你正在使用反射(因此很多object),为什么不直接转换为IList(非泛型)呢?

IList list = (IList)actualList;
object foo = list[17];

另外 - 对于你的原始代码Count,你并不意味着int.Parse- 你应该只是演员(因为我们希望Count是一个int).

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有