Me gustaría poder crear varias estructuras con precisión variable. Por ejemplo:¿Hay interfaces compartidas por tipos de valores que representan números?
public struct Point<T> where T : INumber
{
public T X;
public T Y;
public static Point<T> operator +(Point<T> p1, Point<T> p2)
{
return new Point<T>
{
X = p1.X+p2.X,
Y = p1.Y+p2.Y
};
}
}
Sé que Microsoft se ocupa de esto mediante la creación de dos estructuras - Point
(por números enteros) y PointF
(para números de punto, flotante) pero si necesitaba un punto basada en bytes, o de doble precisión, luego se le pedirá que copie una gran cantidad de código antiguo y simplemente cambie los tipos de valores.
Consulte esta pregunta ASÍ: http://stackoverflow.com/questions/4322383/why-dont-number-type-not-share-a-common-interface/4322432#4322432 –
No sabía que podría sobrecargar a los operadores en C# ... ¡Agradable! + rep'ing :) – Machinarius