Nói rằng tôi có một lớp học với bất kỳ số lượng các thuộc tính của bất kỳ loạiThêm thuộc tính bổ sung cho mỗi thuộc tính của một lớp
public class Test
{
public string A {get;set;}
public object B {get;set;}
public int C {get;set;}
public CustomClass D {get;set;}
}
Tôi muốn tất cả các đối tượng bên trong lớp này có một khái niệm về 'lỗi' và 'cảnh báo'. Ví dụ, dựa trên một số điều kiện trong một lớp khác, tôi có thể muốn thiết lập một cảnh báo về thuộc tính A, và sau đó hiển thị thông tin đó trong GUI. GUI không phải là mối quan tâm của tôi; thay vì làm thế nào tôi nên đặt cảnh báo này? Tôi rất thích để có thể làm điều gì đó như:
Đối với mỗi tài sản trong một lớp học, thêm một 'Cảnh báo' và 'Lỗi' tài sản đó mà tôi có thể làm ..
Test t = new Test();
t.A.Warning = "This is a warning that the GUI will know to display in yellow".
t.B.Error = null;
tốt nhất là gì cách để làm điều này? Sẽ tốt hơn nếu tôi có thể thêm thuộc tính tùy chỉnh vào mỗi thuộc tính của lớp sẽ thêm các thuộc tính bổ sung này và cho phép tôi truy cập chúng một cách rõ ràng.
Tôi đã thấy các giải pháp thêm từ điển vào lớp cha (Test) và sau đó chuyển vào chuỗi khớp với tên thuộc tính hoặc sử dụng sự phản chiếu để lấy tên thuộc tính và chuyển nó vào, nhưng tôi muốn .
Cảm ơn bạn đã phản hồi. Tôi nghĩ rằng tôi sẽ thực hiện điều này. Tôi không thích phải sử dụng newWarning.Value để thực sự truy cập vào các thuộc tính chuỗi, nhưng có vẻ như tôi sẽ phải hy sinh một số tiện lợi ở đâu đó. – user981225