类属性的 C# 泛型访问

本文关键字:泛型 访问 属性 | 更新日期: 2023-09-27 18:31:08

我有一个实现泛型的类"MyClass"。

public class MyClass<T>
{
   T _base;
   MyClass(T child) { _base = child; }
   void asdf() 
   {
      _base.MasterFunction();
      _base.Variable = true;
   }
}

如何实现类,以便我可以访问传入"T"的类的成员?

MyClass mc = new MyClass<Master>();
mc.asdf(this);

类属性的 C# 泛型访问

像这样

public class DbException<T> where T : BaseItem

在本例中 - BaseItem 是您希望泛型方法对其进行操作的泛型类型

public interface ICar
{
    void Start();
}
public class AutoStarter<T> where T : ICar
{
    public AutoStarter(T car)
    {
        car.Start();  //It knows that T implements interface ICar, so you can call Start
    }
}

您可以使用接口约束,基类。你可以在这里找到它:

MSDN 其中 (泛型类型约束) (C# 参考)

类型参数的 MSDN 约束(C# 编程指南)