得到的阵列的对象的类型[复制](Get the type of an array object [d

2019-09-22 03:07发布

可能重复:
如何使用反射来确定嵌套类型的数组的?

我有一个A类和试图获得的基本类型在它的阵列。

Class A
{
   A1[] obja1;
   A2[] obja2;
   string x;
   int i;

}

我如何获得obja1为A1和obja2作为A2的基础对象类型这里是我的代码的一部分?

    object AClass = myAssembly.CreateInstance("A");
    PropertyInfo[] pinfos = AClass.GetType().GetProperties();

    foreach(PropertyInfo pinfo in pinfos)
    {
       if(pinfo.PropertyType.IsArray)
       {
             //here get the the underlying property type so that I can do something as follows
             var arr = myAssembly.CreateInstance(typeof(A1), 100);
//need to get if the array is array of A1 or A2 but do not want to hardcode

        }
    }
Thanks for the help..  

Answer 1:

如果我有问题正确。 您可以使用获取元素类型 ,以获得元素类型,并将其与要求相比较。

要么

只要使用typeof(A1[])typeof(A2[])



文章来源: Get the type of an array object [duplicate]