MVC では次のように言えます。
Html.TextBoxFor(m => m.FirstName)
これは、モデル プロパティを (値ではなく) パラメーターとして渡すことを意味するため、MVC はメタデータなどを取得できます。
私は C# WinForms プロジェクトで同様のことをしようとしていますが、その方法がわかりません。基本的に、ユーザー コントロールに bool プロパティのセットがあり、簡単にアクセスできるようにそれらを辞書に列挙したいと思います。
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; }
どういうわけか、Enum Actions をキーとして、プロパティを値として Dictionary オブジェクトを定義したいと思います。
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 }
}
実行時に変更される可能性があるため、プロパティ値ではなくプロパティを辞書に渡す必要があります。
アイデア?
-ブレンダン