У меня есть несколько классов
class Parameters{..}
class CalculationParameters : Parameters{..}
class CalculatorParameters<T> : Parameters where T:CalculationParameters{..}
class FourierTransformParameters : CalculationParameters
{
public double FourierTransformCoefficient{ get; set; }
}
class Calculation{..}
class FourierTransform : Calculation{..}
class Calculator<T> where T:Calculation
{
public CalculatorParameters<?> Parameters{ get; private set; }
public Calculator(T calculation,int p1)
{
Parameters = new CalculatorParameters<?>(calculation.Parameters,p1);
}
}
Вместо вопросительного знака я хотел бы сделать что-то вроде T.TRelatedCalculationParameters, потому что во время построения я знаю, что такое T и тип вопросительного знака полностью определен Т. Так я мог бы назвать:
var ft = new FourierTransform()
var calculator = new Calculator<FourierTransform>(ft,3);
calculator.Parameters.FourierTransformCoefficient = 3;
Есть ли способ как-то этого добиться?
Спасибо, Ян