![](/img/trans.png)
[英]C# elegant way to check if all shallow properties are null (or any property is not null)
[英]Is there any way to check for properties of a class for a particular value in c#
我有一個License類,有50個布爾屬性和一些timestamp屬性。 如果這50個屬性全部為false,我想通知用戶。
一種方法是使用if和if條件,另一種方法是反射,對於此問題似乎有些過分了。 請提出其他建議。 我正在使用.Net Framework 3.5
您當然可以通過反射來做到這一點:
var values = from prop in typeof(License).GetProperties()
where prop.PropertyType == typeof(bool)
select (bool) prop.GetValue(instance, null);
if (!values.Any(x => x))
{
// Nope, everything's false
}
我不確定您要如何處理時間戳屬性...
您應該查看索引屬性 。 您可以將支票封裝到License的只讀屬性中:
private List<Boolean> props;
public bool IsExpired
{
get { return !props.Any(p => p); }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.