Я пытаюсь перенести свои родовые функции в базовый класс, однако разнородный тип данных мешает мне сделать это. Пожалуйста, смотрите:
public class OutWriter
{
private readonly IEnumerable<long> series1;
private readonly IEnumerable<long> series2
private readonly IEnumerable<long> series3
private readonly IEnumerable<double> series4
private readonly double sum;
public OutWriter()
{
series1 = PopulateS1()
series2 = PopulateS2()
series3 = PopulateS3()
series4 = PopulateS4()
sum = series4.Aggregate((x,y)=>x+y);
}
}
public class PaperWriter
{
private readonly IEnumerable<BigInteger> series1;
private readonly IEnumerable<BigInteger> series2
private readonly IEnumerable<BigInteger> series3
private readonly IEnumerable<BigInteger> series4
private readonly BigInteger sum;
public PaperWriter()
{
series1 = PopulateS1()
series2 = PopulateS2()
series3 = PopulateS3()
series4 = PopulateS4()
sum = series4.Aggregate((x,y)=>x+y);
}
}
public class Base<T>()
{
????
}
Я пытаюсь выявить сходство, однако здесь задействованы long
, double
и BigInteger
. Также агрегат выбрасывает ошибку времени компиляции из-за операции +. Подскажите, пожалуйста, как правильно это сделать?
Спасибо,
-Mike