3
ジェネリック機能をベースクラスに引き継ぎようとしていますが、多様なデータタイプがこれをやめさせています。参照してください:私は類似点をプルアップしようとしている汎用ベースを作成する
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
これらのタイプでは簡単ではありませんが、これらの演算子に使用できる汎用的な制約はないため、恐れがあります。しかし、この質問は常に出てきて、私はJon Skeet(誰かになるかもしれない、思い出さないでください)がかなり良い解決策を持っていたと信じています。それはどこかにありますが、私は今それを検索することはできません。 –