如何转换为由于保护级别而无法访问的类型列表?

问题描述 投票:0回答:0

我在第 3 方库中有一个类型,我无法将其标记为公共,但需要遍历这些对象的列表。我可以使用反射获取对象,但这个对象是一个列表。简单地将它投射到 List 似乎不起作用。

Type pType = typeof(PublicType).GetNestedTypes(BindingFlags.NonPublic).First();//gets correct NestedPrivateType, not sure if i can use this to help me cast
object listObj = typeof(PublicType).GetField("_theList", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(publicTypeObj);//this gets the list of objects that are of the nested private type
List<object> theList = (List<object>)listObj;//exception, unable to cast

我将对象投射到列表中,我希望它能正确投射。

c# reflection casting nested private
© www.soinside.com 2019 - 2024. All rights reserved.