decir que tengo una clase con cualquier número de propiedades de cualquier tipoAdición de atributos adicionales para cada propiedad de una clase
public class Test
{
public string A {get;set;}
public object B {get;set;}
public int C {get;set;}
public CustomClass D {get;set;}
}
Quiero que todos los objetos dentro de esta clase para tener una noción de 'errores' y 'advertencias'. Por ejemplo, en función de alguna condición en otra clase, me gustaría establecer una advertencia en la propiedad A y luego mostrar esa información en la GUI. La GUI no es mi preocupación; más bien, ¿cómo debo configurar esta advertencia? Me gustaría ser capaz de hacer algo como:
Para cada propiedad en una clase, agregue una 'Advertencia' y la propiedad 'error' de tal manera que puedo hacer ..
Test t = new Test();
t.A.Warning = "This is a warning that the GUI will know to display in yellow".
t.B.Error = null;
¿Cuál es el mejor ¿Cómo hacer esto? Sería bueno si pudiera agregar un atributo personalizado a cada propiedad de la clase que agregaría estas propiedades adicionales y me permitiría acceder a ellas de una manera clara.
He visto soluciones que agregan un diccionario a la clase padre (Test), y luego paso cadenas que coinciden con los nombres de las propiedades, o uso reflection para obtener el nombre de la propiedad y pasarlo, pero preferiría algo más limpio .
Gracias por su respuesta. Creo que implementaré esto. No me gusta tener que usar newWarning.Value para acceder realmente a las propiedades de la cadena, pero parece que tendré que sacrificar algo de comodidad en alguna parte. – user981225