У меня есть абстрактный класс, и я хочу, чтобы производный класс определял не только тип значения, но и позволял им определять, сколько типов значений они имеют. Затем я хочу требовать, чтобы у них были методы получения / установки для каждого типа:
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#? Или что-то похожее на это?