c#泛型访问类属性

时间:2016-01-20 17:45:44

标签: c# class generics

我有一个“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);

2 个答案:

答案 0 :(得分:2)

喜欢这个

public class DbException<T> where T : BaseItem

在这种情况下 - BaseItem是您希望通用方法在

上运行的泛型类型

答案 1 :(得分:0)

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 where (generic type constraint) (C# Reference)

MSDN Constraints on Type Parameters (C# Programming Guide)