escribí una clase genérica :¿Cómo puedo restar dos objetos genéricos (T - T) en C# (Ejemplo: DateTime - DateTime)?
public class Interval<T> where T : IComparable // for checking that Start < End
{
public T Start { get; set; }
public T End { get; set; }
...
}
y lo uso con esta clase DateTime, int, etc.
Necesito un Duración propiedad que devuelve una duración como:
public object Duration
{
get
{
return End - Start;
}
}
Pero cuando esta propiedad está incluida en mi clase, el compilador genera un error lógico en el operador -
.
¿Qué puedo hacer para lograr este objetivo normalmente o debería ignorar?
¿Y cómo sabe el compilador que el tipo que está utilizando tiene definido el operador '-'? – Oded
Esto podría ayudar: http://stackoverflow.com/questions/171664/how-to-turn-these-3-methods- into-one-using-c-sharp-generics, consulte la publicación de Marc Gravells sobre aritmética genérica. – Alex
Posible duplicado: http://stackoverflow.com/questions/5516459/constrain-type-to-allow-addition-subtraction-operations-in-c-sharp – Reddog