C# 定义的非泛型声明上不允许约束类泛型仍然出错?
我有MYDemoClass.csC# 定义的非泛型声明上不允许约束类泛型仍然出错?,c#,.net,generics,c#-4.0,C#,.net,Generics,C# 4.0,我有MYDemoClass.cs [Serializable] public class MYDemoClass<T> where T : class { 在MyTaskClass.cs中 public MYDemoClass<object> Update(int Id, MYDemoClass<T> data) where T : class { publicMyDemoClass更新(int-Id,MYDemoCla
[Serializable]
public class MYDemoClass<T> where T : class
{
在MyTaskClass.cs中
public MYDemoClass<object> Update(int Id, MYDemoClass<T> data) where T : class
{
publicMyDemoClass更新(int-Id,MYDemoClass数据),其中T:class
{
这给了我构建错误约束在非泛型上是不允许的
声明
为什么会这样?如果我已经声明了MYDemoClass在哪里
T:类
您可能希望这样声明:
MYDemoClass<object> Update<T>(int Id, MYDemoClass<T> data) where T : class;
MYDemoClass更新(int-Id,MYDemoClass数据),其中T:class;
您可能希望这样声明:
MYDemoClass<object> Update<T>(int Id, MYDemoClass<T> data) where T : class;
MYDemoClass更新(int-Id,MYDemoClass数据),其中T:class;
您的方法不是泛型-t
不作为类型参数存在,因为您没有将其作为类型参数引入…类MYDemoClass,其中t:class
是泛型类。它与泛型方法无关。您也必须创建泛型方法。您不能将MYDemoClass
包含在非泛型中。在非泛型方法您可以执行MYDemoClass
或使用某些已知类型。您的方法不是泛型-t
不作为类型参数存在,因为您没有将其作为类型参数引入…class MYDemoClass,其中t:class
是泛型类。它与泛型方法无关。您必须创建泛型方法方法也是。你不能在非泛型中使用MYDemoClass
。在非泛型方法中,你可以使用MYDemoClass
或使用一些已知类型。谢谢,但是为什么需要Update
你能详细说明或给我链接吗?谢谢泛型需要一个类型参数。“T”在本例中。这是泛型的声明方式。谢谢,但为什么需要Update
您能详细说明一下或给我链接吗?谢谢泛型需要一个类型参数。在本例中为“T”。这是泛型的声明方式。