Me pregunto si C# admite propiedades opcionales como los siguientesC# propiedades opcionales en C# 3.0 (2009)
public class Person
{
public string Name { get; set;}
public optional string NickName { get; set;}
...many more properties...
}
de manera que cuando se crea un objeto Person puedo comprobar fácilmente la validez de los valores de entrada de una forma sencilla bucle
public bool IsInputOK(Person person)
{
foreach(var property in person.GetType().GetProperties())
{
if(property.IsOptional())
{
continue;
}
if(string.IsNullOrEmpty((string)property.GetValue(person,null)))
{
return false;
}
}
return true;
}
He buscado en google pero no he encontrado la solución deseada. ¿Realmente tengo que entregar manualmente el código de validación de cada propiedad?
Gracias.
creo que es una manera horrible de realizar la validación objeto. Huele ... –
Pensé que esta era la mejor manera :(... Puedo guardar alrededor de 100 líneas de código repetitivo usando este enfoque. Aunque estoy de acuerdo en que el rendimiento puede doler un poco al usar la reflexión. –
¿Te importa? para elaborar sobre el olor? –