MVC 4 WebGrid のコードを掘り下げていたところ、このように使用されていることがわかりました
grid.Column("Id", format: (item) => item.GetSelectLink(item.Id)),
「item」パラメータが何かわからなかったので、ソース コードを調べたところ、「WebGridRow」クラスのようです。私の問題は、上記のコードが「.Id」プロパティを探しているが、クラスに存在しないことです。それに近い場所にある唯一のプロパティは、次のように見えます
public object this[string name]
{
get
{
if (String.IsNullOrEmpty(name))
{
throw new ArgumentException(CommonResources.Argument_Cannot_Be_Null_Or_Empty, "name");
}
object value = null;
if (!TryGetMember(name, out value))
{
throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture,
HelpersResources.WebGrid_ColumnNotFound, name));
}
return value;
}
}
「this[文字列名]」のように定義されたプロパティを見たことがありません。どういう意味ですか? 動的プロパティ?
Web で検索してみましたが、何を検索すればよいかわかりません。結果や説明が思いつきませんでした。
助けてください。ありがとう