给定字符串"string[]"
并要求获取此类的基础类型,可以从以下开始:
private Type getTypeByName(string typeName)
{
if (typeName.EndsWith("[]"))
{
return something; // But what?
}
return Type.GetType(typeName);
}
什么类型的“string []”以及如何反映出它的类型?
显然有一个System.String
类型和一个System.Array
类型,但我看不出它们如何像“{1}}及其T一样”一起“反映” Nullable<T>
方法。
任何有助于打破思维循环的帮助我都会非常感激!
答案 0 :(得分:8)
你到底是什么问题? Type.GetType
工作正常:
Console.WriteLine(typeof(string[]));
var type = Type.GetType("System.String[]");
Console.WriteLine(type);
打印:
System.String[]
System.String[]
很明显,这可以按预期工作。
答案 1 :(得分:2)
在类型上使用GetElementType():
string[] eee = new string[1];
Type ttt = eee.GetType().GetElementType();
ttt的类型为String。
答案 2 :(得分:0)
Type.GetType(“System.String []”)将返回字符串数组类型。无需在输入字符串中检查[]。
您可以通过查看Type.IsArray道具来验证这一点。
答案 3 :(得分:0)
类型是System.String []