Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将类型传递给方法?_C# - Fatal编程技术网

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
是引用class
X
class
对象的语法。我对你的小写
字符串有点困惑。Java中的标准
String
类以大写字母开头。