C# 如何将类型传递给方法?
如何调用此构造函数C# 如何将类型传递给方法?,c#,C#,如何调用此构造函数 public class DataField { public String Name; public Type TheType; public DataField(string name, Type T) { Name = name; TheType = T; } } 我想到 f = new DataField("Name",typeof(new String())); 但我想避免对象创建。 那么这
public class DataField
{
public String Name;
public Type TheType;
public DataField(string name, Type T)
{
Name = name;
TheType = T;
}
}
我想到
f = new DataField("Name",typeof(new String()));
但我想避免对象创建。
那么这个可以吗
f = new DataField("Name",String);
您应该能够简单地使用
typeof(string)
您可以将类型名称与typeof
一起使用:
f = new DataField("Name", typeof(string));
传递
String.class
应该有效。它是类
的一个实例,它实现了类型
:
new DataField("Name", String.class);
编译器说什么?你想对类型做什么?也许你可以使用泛型?@CodeIgnoto:我相信Alexey的意思是将字符串传递给函数的类型,他只是没有说得很清楚。阿列克西。。。说清楚点!我没有否决投票,但如何传递类名。在这种情况下,您需要一个类型实例,它只能通过typeOf或gettype对不起,我的意思是
String.class
。更新了答案。好的。。。现在你肯定偏离了目标。什么是string.class
?它不存在X.class
是引用classX
的class
对象的语法。我对你的小写字符串有点困惑。Java中的标准String
类以大写字母开头。