我有一个抽象类,我想让派生类不仅定义值类型,还让他们定义它们具有多少个值类型。然后,我要要求他们为每种类型都具有吸气剂/阻气剂:
public abstract class A<T1, T2, ..., TN>
{
// Getters
public abstract T1 GetValue();
public abstract T2 GetValue();
...
public abstract TN GetValue();
// Setters
public abstract void SetValue(T1 newVal);
public abstract void SetValue(T2 newVal);
...
public abstract void SetValue(TN newVal);
}
然后,从A派生的类可以具有任意数量的值,只要它们提供对它们的访问。这在c#中可能吗?或类似的东西?
没有必须明确定义它们,因为编译器必须弄清楚如何处理要构建到程序集中的类型。
您可以通过代码生成器获得类似的效果。