我有以下代码,它是表单中的私有方法,并从表单中检索所有上下文菜单。我觉得,它并不是那么简洁,因为它应该是。将不胜感激的任何建议。检索具有指定类型的字段的值
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>();
}
谢谢你的伟大答案! – Peter17 2011-03-02 11:47:52