C#反思怎么样?

zkw*_*ntz 3 c# reflection

我在C#中抓住反射时遇到了麻烦,所以我将把我的具体情况放下来,看看你们能想出什么.我已经在这里阅读了TONS的C#反思问题,但我仍然只是没有得到它.

所以这是我的情况; 我正在尝试访问一个数组,该数组是我有权访问的类的非公共成员.

替代文字

基本上它是一个System.Collections.CollectionBase,它有一个名为"list"的数组变量,但它有这种父类型的OrderCollection,它的反映只会让我感到困惑.

我必须做很多这样的事情,所以一个好的指南或例子真的会有所帮助.如果您想了解更多信息,请与我们联系.

我把命名空间的名称涂黑了不是因为我所做的事情无论如何都不是违法的,但我正试图率先推销这个,所以我要小心.

Jon*_*eet 9

你想用什么反射呢?CollectionBase支持索引,但只能通过显式接口实现IList,所以你应该能够编写:

IList list = Acct.Orders;
response = list[0];
Run Code Online (Sandbox Code Playgroud)

您可能需要将结果转换为更合适的类型,但我认为此处不需要反射.

编辑:原始答案没有考虑显式接口实现.