zastanawiam się czy C# obsługuje właściwości opcjonalnych jak następującejC# Opcjonalne właściwości w C# 3.0 (2009)
public class Person
{
public string Name { get; set;}
public optional string NickName { get; set;}
...many more properties...
}
tak, że kiedy utworzyć obiekt osoba może łatwo sprawdzić ważność wartości wejściowych w prosty pętla
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;
}
Szukałem w Google, ale nie otrzymałem pożądanego rozwiązania. Czy naprawdę muszę ręcznie przekazać kod sprawdzania poprawności dla każdej właściwości?
Dzięki.
myślę, że jest to straszny sposób sprawdzania poprawności obiektów. Pachnie ... –
Pomyślałem, że to najlepsza metoda :(... mogę zapisać około 100 linii powtarzalnego kodu za pomocą tego podejścia, mimo że zgadzam się, że wydajność trochę zaszkodzi, używając refleksji –
Czy ci zależy? do opracowania zapachu? –