мне интересно, если C# поддерживает дополнительные свойства, как следующийC# необязательные свойства в C# 3.0 (2009)
public class Person
{
public string Name { get; set;}
public optional string NickName { get; set;}
...many more properties...
}
так, что когда я создаю объект Person можно легко проверить правильность ввода значений в простом петля
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;
}
Я искал в google, но не получил желаемого решения. Действительно ли мне нужно вручную передать код проверки кода для каждого свойства?
Спасибо.
Я думаю, что это ужасный способ выполнения проверки объекта. Это пахнет ... –
Я думал, что это лучший способ :(... Я могу сэкономить около 100 строк повторяющегося кода, используя этот подход. Хотя я согласен, что производительность немного повредит, используя отражение. –
для разработки запаха? –