【发布时间】:2013-01-12 19:33:30
【问题描述】:
在我的代码中,我在 ParentClass 中声明了一个 ArrayList
public class ParentClass {
...
public ArrayList hybridElem;
...
然后使用在 ParentClass 之外运行的反射,我能够成功获取此 ArrayList @运行时的 FieldInfo。
使用该 FieldInfo,我希望能够从 hybridElem 添加或读取元素。 我能够获取 ArrayList 的所有相关 PropertyInfo,例如 .Item、.Count、.ToArray 等......并且还可以获得这些属性的 getter 和 setter。
不幸的是,它们都没有被成功调用,因为 MethodInfo.Invoke 期望 Object 引用 ArrayList
任何解决方案?
【问题讨论】:
-
你知道 ArrayList 已经过时了吧?
-
@JohnSaunders 令人难以置信的是还有人在使用它。从 .NET 2.0 开始,这不是收集的好方法!!这已经很久很久了……
-
不能与 COM 互操作的通用集合要好得多。除非你使用 COM。
标签: c# reflection