gpt4 book ai didi

c# - 检索具有指定类型的字段的值

转载 作者:太空宇宙 更新时间:2023-11-03 22:16:01 25 4
gpt4 key购买 nike

我有以下代码,它是表单内的私有(private)方法,并从表单中检索所有上下文菜单。我觉得,它并不像它应该的那样简洁。如有任何建议,我们将不胜感激。

  private IEnumerable<ContextMenuStrip> GetContextMenus()
{
var type = this.GetType();
var fields = type.GetFields(BindingFlags.NonPublic | BindingFlags.Instance);
var contextMenus = fields.Where(f => f.GetValue(this).GetType() == typeof(ContextMenuStrip));
var menus = contextMenus.Select(f=> f.GetValue(this));
return menus.Cast<ContextMenuStrip>();
}

最佳答案

您愿意包含 ContextMenuStrip 的子类吗?如果是这样,我会使用:

return GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance)
.Select(field => field.GetValue(this))
.OfType<ContextMenuStrip>();

关于c# - 检索具有指定类型的字段的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5166927/

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