Вы можете сделать следующее.Для примера, я предполагаю, что ваши свойства имеют имя с именем шаблона Value_.Вы можете изменить фильтр поиска при необходимости.
public bool CheckValue()
{
return this.GetType().GetProperties()
.Where(property=> property.Name.StartsWith("Value"))
.Count(property=>property.GetValue(this,null)!=null)>=1;
}
Если вы не хотите фильтровать свойства, вы можете сделать следующее.
return `this.GetType().GetProperties().Count(property=>property.GetValue(this,null)!=null)>=1;
Возможно, вам также придется определить ожидаемый/ Значение по умолчанию для типа значения, а также добавить проверки для того же самого, так как этот запрос выше проверяет только для нулевых значений.Но, пожалуйста, помните о влиянии производительности на использование отражения`.