我有以下代碼,它是表單中的私有方法,並從表單中檢索所有上下文菜單。我覺得,它並不是那麼簡潔,因爲它應該是。將不勝感激的任何建議。檢索具有指定類型的字段的值
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