C# int类型必须是引用类型才能将其用作参数
我有一个简单的代码,当我更改行C# int类型必须是引用类型才能将其用作参数,c#,C#,我有一个简单的代码,当我更改行my.Test()时 到my.Test(),它可以工作,但不适用于int class Program { class MyClass { public void Test<T>() where T : class // Generic Constraint { Console.WriteLine("Hello"); // Prints Hello
my.Test()时代码>
到my.Test()代码>,它可以工作,但不适用于int
class Program
{
class MyClass
{
public void Test<T>()
where T : class // Generic Constraint
{
Console.WriteLine("Hello"); // Prints Hello
}
}
static void Main()
{
MyClass my = new MyClass();
my.Test<int>();
Console.ReadKey();
}
}
类程序
{
类MyClass
{
公开无效测试()
其中T:class//Generic约束
{
Console.WriteLine(“Hello”);//打印Hello
}
}
静态void Main()
{
MyClass my=新的MyClass();
我的测试();
Console.ReadKey();
}
}
在您的代码中
where T : class
int不是一个类。这就是它不起作用的原因。其中t:class
。我是说。。实际上,你有一个通用的约束,说类型参数应该是一个类。我的汽油车不工作,当我试图把柴油。为什么会这样?@RobertColumbia好像坏了。也许买一个新的。为什么它对字符串my.Test()有效;但不适用于int?字符串是否与类相同?