Ho scritto una classe generico:Come posso sottrarre due oggetti generici (T - T) in C# (Esempio: DateTime - DateTime)?
public class Interval<T> where T : IComparable // for checking that Start < End
{
public T Start { get; set; }
public T End { get; set; }
...
}
e io uso questa classe con DateTime, int, ecc
Ho bisogno di un proprietà durata che restituisce una durata simile:
public object Duration
{
get
{
return End - Start;
}
}
Ma quando questa proprietà è inclusa nella mia classe, il compilatore genera un errore logico sull'operatore -
.
Cosa posso fare normalmente per raggiungere questo obiettivo o dovrei ignorare?
E come fa il compilatore a sapere che il tipo che stai usando ha definito l'operatore '-'? – Oded
Questo potrebbe aiutare: http://stackoverflow.com/questions/171664/how-to-turn-these-3-methods-into-one-using-c-sharp-generics, controlla Marc Gravells post su aritmetica generica. – Alex
Possibile duplicato: http://stackoverflow.com/questions/5516459/constrain-type-to-allow-addition-subtraction-operations-in-c-sharp – Reddog