Я хочу сделать что-то похожее на то, что делают HtmlHelpers в ASP.NET MVC. Возьмите следующее:
Код: Выделить всё
@Html.EditorFor(model => model.SomeProperty.SomeInnerProperty)
HtmlHelper явно может получить не только значение SomeInnerProperty, но он также знает то, что я называю «путем» к этому свойству, поскольку он создает соответствующий элемент HTML с атрибутом:
Я хочу иметь возможность создать метод, который может получать как значение, так и «путь», аналогично тому, как это делают HtmlHelpers. Я немного поразмыслил над существующими HtmlHelpers, и это выглядело как кроличья нора. Мне удалось создать метод, который использует его следующим образом:
Код: Выделить всё
MyCustomMethod(model => model.SomeProperty.SomeInnerProperty);
private void MyCustomMethod(Expression expression)
{
// I can inspect the expression object in the debugger here
}
При проверке объекта «выражение» я могу что-то выяснить посредством отражения, но я не уверен, насколько надежным будет мое решение, потому что я просто выясняю ситуацию посредством наблюдения. Кроме того, это кажется сложнее, чем должно быть; как будто я упускаю что-то простое.
Есть идеи?
Подробнее здесь:
https://stackoverflow.com/questions/246 ... -the-value