在 MVC 中你可以说:
Html.TextBoxFor(m => m.FirstName)
这意味着您将模型属性作为参数(而不是值)传递,因此 MVC 可以获取元数据等。
我正在尝试在 C# WinForms 项目中做类似的事情,但不知道如何做。基本上我在用户控件中有一组布尔属性,我想在字典中枚举它们以便于访问:
public bool ShowView { get; set; }
public bool ShowEdit { get; set; }
public bool ShowAdd { get; set; }
public bool ShowDelete { get; set; }
public bool ShowCancel { get; set; }
public bool ShowArchive { get; set; }
public bool ShowPrint { get; set; }
不知何故,我想定义一个 Dictionary 对象,其中 Enum Actions 作为键,属性作为值:
public Dictionary<Actions, ***Lambda magic***> ShowActionProperties = new Dictionary<Actions,***Lambda magic***> () {
{ Actions.View, () => this.ShowView }
{ Actions.Edit, () => this.ShowEdit }
{ Actions.Add, () => this.ShowAdd}
{ Actions.Delete, () => this.ShowDelete }
{ Actions.Archive, () => this.ShowArchive }
{ Actions.Cancel, () => this.ShowCancel }
{ Actions.Print, () => this.ShowPrint }
}
我需要将属性而不是属性值传递到字典中,因为它们可能会在运行时发生变化。
想法?
-布伦丹