Tôi có một lớp cơ sở như thế này:Có thể nhận được một tài sản được trừu tượng và các thiết lập được ảo?
public class Trajectory{
public int Count { get; set; }
public double Initial { get; set { Count = 1; } }
public double Current { get; set { Count ++ ; } }
}
Vì vậy, tôi có mã trong lớp cơ sở, mà làm cho bộ-s ảo, nhưng get-s phải ở lại trừu tượng. Vì vậy, tôi cần một cái gì đó như thế này:
...
public double Initial { abstract get; virtual set { Count = 1; } }
...
Nhưng mã này có lỗi. Toàn bộ vấn đề là thực hiện chức năng truy cập trong lớp cơ sở thay vì trong tất cả các lớp dẫn xuất. Vì vậy, làm cách nào tôi có thể tạo và thiết lập thuộc tính với các công cụ sửa đổi khác nhau?
Có thể bạn nên viết các phương thức GetInitial SetInitial riêng ... – Marko
Tôi đang gặp khó khăn khi hiểu được ý định đằng sau mã của bạn. Nó là cực kỳ bất thường để có một setter cho một tài sản mà bỏ qua các giá trị đầu vào được thiết lập. Nếu bạn thay đổi điều này để sử dụng các phương thức (không có giá trị đầu vào không được sử dụng để gây nhầm lẫn cho mọi thứ), thì không cần thêm một tập hợp get/virtual trừu tượng nữa. –
Điểm của một setter là nó "bộ" (theo một cách nào đó) giá trị đầu vào. Cách bạn thực hiện bộ của bạn, nó là một phương pháp. – Henri