MyClass对象与<;T>;在给定的类中

本文关键字:对象 lt MyClass gt | 更新日期: 2023-09-27 18:21:04

MyClass对象和<T>之间的关系是什么

public class MyClass<T> where T : myGeneric
{
}

在DBM回复后添加到我的问题


上面的实现如何比更好

IGenericInterface
{
 int Bar();
}
public abstract GenericClass : IGenericInterface   
{
    public virtual int Bar()
    {
     return 1; 
    }
}

然后使用abstraft类实现

public class MyClass  : GenericClass 
{
   IGenericInterface GenericObject ;
}

MyClass对象与<;T>;在给定的类中

您可能想了解C#泛型。您发布的代码是一个名为MyClass的类,它可以接受从类myGeneric派生的任何内容。T是该类型的占位符。

例如,你可以做

public class myGeneric
{
      public int Bar() 
      {
           return 1;
      }
}
public class MyClass<T> where T : myGeneric 
{ 
      public void DoSomething(T foo) 
      {
           int x = foo.Bar();
      }
}

因此,在上面的例子中,x将是1。

"MyClass"是类名,"<T>"是泛型参数列表。

  1. 不需要将MyClass强制转换为IGenericInterface

  2. 在编译时,所有出现的T都将替换为调用中使用的实际类类型,而不是在运行时将类强制转换为IGenericInterface。