Powiel możliwe:
C# generic constraint for only integersJak sumować liczby ogólne w języku C#?
Jak widać w poniższym kodzie, muszę obliczyć sumę dwóch liczb generycznych.
public class NumberContainer<T>
{
public T ValueA { get; private set; }
public T ValueB { get; private set; }
public T Total { get { return ValueA + ValueB; } }
}
Jednak nie jest to możliwe do zrobienia bezpośredniego dodawania dwóch wartości t, co powoduje błąd kompilatora poniżej:
Operator „+” nie może być stosowany do argumentów typu „T” i „T”
Biorąc pod uwagę, że nie zamierza korzystać z T na cokolwiek innego niż wartość typów, które reprezentują liczb (krótkie, ushort, int, uint itp), jak mogę wykonać suma? (efektywność jest czynnikiem, który należy wziąć pod uwagę)
ewentualnie: [Czy istnieje C# rodzajowe ograniczenie dla „prawdziwego numeru” typy?] (http://stackoverflow.com/questions/1348594/is-there-ac-sharp-generic-constraint-for-real-number-types/1348625#1348625) –
Pytanie jest zamknięte jako duplikat pytań starając się umieścić ograniczenie na 'T', co jest * nie * tym, co próbuje to pytanie. Myślę, że należy go ponownie otworzyć. – dasblinkenlight