我寫了一個泛型類:如何在C#中減去兩個通用對象(T-T)(例如:DateTime - DateTime)?
public class Interval<T> where T : IComparable // for checking that Start < End
{
public T Start { get; set; }
public T End { get; set; }
...
}
我使用這個類有日期時間,INT等
我需要一個時間屬性,返回像時間:
public object Duration
{
get
{
return End - Start;
}
}
但是,如果此屬性包含在我的課程中,編譯器會提出一個邏輯錯誤在-
運營商。
我該怎麼做才能正常達到這個目標呢,還是我應該忽略呢?
編譯器如何知道您使用的類型是否定義了'-'運算符? – Oded
這可能有助於:http://stackoverflow.com/questions/171664/how-to-turn-these-3-methods-into-one-using-c-sharp-generics,檢查Marc Gravells發佈的泛型算術。 – Alex
可能的重複:http://stackoverflow.com/questions/5516459/constrain-type-to-allow-addition-subtraction-operations-in-c-sharp – Reddog