gpt4 book ai didi

c# - 检索一个类的所有 bool 属性的名称,这些属性为真

转载 作者:太空狗 更新时间:2023-10-29 22:10:23 28 4
gpt4 key购买 nike

我有一个有很多 bool 属性的类。如何创建另一个属性,它是一个字符串列表,其中包含值为 true 的属性的名称?

请参阅下面的初步尝试 - 不太清楚如何过滤真实的

public class UserSettings
{
public int ContactId { get; set; }
public bool ShowNewLayout { get; set; }
public bool HomeEnabled { get; set; }
public bool AccountEnabled { get; set; }

// lots more bool properties here

public IEnumerable<string> Settings
{
get
{
return GetType()
.GetProperties()
.Where(o => (bool)o.GetValue(this, null) == true) //this line is obviously wrong
.Select(o => nameof(o));
}
}
}

最佳答案

您可以这样做 - 所有类型为 bool 并且为 true

的属性
public IEnumerable<string> Settings
{
get
{
return GetType()
.GetProperties().Where(p => p.PropertyType == typeof(bool)
&& (bool)p.GetValue(this, null))
.Select(p => p.Name);
}
}

关于c# - 检索一个类的所有 bool 属性的名称,这些属性为真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43588771/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com