Tôi đã viết một Generic Class :Làm cách nào tôi có thể trừ hai đối tượng chung (T - T) trong C# (Ví dụ: DateTime - DateTime)?
public class Interval<T> where T : IComparable // for checking that Start < End
{
public T Start { get; set; }
public T End { get; set; }
...
}
Và tôi sử dụng lớp này với DateTime, int, vv
Tôi cần một Thời gian tài sản mà trả một khoảng thời gian như:
public object Duration
{
get
{
return End - Start;
}
}
Nhưng khi thuộc tính này được bao gồm trong lớp của tôi, trình biên dịch sẽ tăng ra một lỗi logic trên toán tử -
.
Tôi có thể làm gì để đạt được mục tiêu này bình thường, hoặc tôi có nên bỏ qua không?
Và trình biên dịch biết rằng loại bạn đang sử dụng có toán tử '-' được định nghĩa như thế nào? – Oded
Điều này có thể giúp: http://stackoverflow.com/questions/171664/how-to-turn-these-3-methods-into-one-using-c-sharp-generics, kiểm tra Marc Gravells đăng trên arithmetics chung. – Alex
Có thể trùng lặp: http://stackoverflow.com/questions/5516459/constrain-type-to-allow-addition-subtraction-operations-in-c-sharp – Reddog