如何从字符串“字符串[]”获取.NET数组类型?(How to get .NET array typ

2019-10-18 09:52发布

由于字符串"string[]" ,并要求获得这个类的基本类型,一个可能会开始:

private Type getTypeByName(string typeName)
{
    if (typeName.EndsWith("[]"))
    {
           return something; // But what? 
    }

    return Type.GetType(typeName);
}

什么类型是“字符串[]”和一个人如何反映类型出来的吗?

显然,有一个System.String类型和System.Array类型,但我看不出他们如何能体现“在一起”,你通常会为那些Nullable<T>及其t用MakeGenericType方法。

任何帮助打破思维回路我已经得到了我自己到将不胜感激!

Answer 1:

到底是什么问题了吗? Type.GetType正常工作:

Console.WriteLine(typeof(string[]));
var type = Type.GetType("System.String[]");
Console.WriteLine(type);

打印:

System.String[]
System.String[]

所以显然这按预期工作。



Answer 2:

在类型使用GetElementType():

string[] eee = new string[1];
Type ttt = eee.GetType().GetElementType();

TTT是String类型。



Answer 3:

Type.GetType( “System.String []”)将返回字符串数组类型。 无需检查[]在你输入的字符串。

您可以通过检查Type.IsArray道具真理这一点。



Answer 4:

类型是System.String []



文章来源: How to get .NET array type from the string “string[]”?