Я использую ASP.NET MVC для обслуживания веб-приложения, и я хочу создать что-то вроде следующего кода.Можно ли установить общий тип другим классом?
<% using(HTML.Form(Model)) { %>
<% HTML.CreateTextBox('txt1', x => x.Property1);
<% }
Из приведенного выше кода способ расширения формы получит объект, который представляет тип текущего объекта модели на текущей странице просмотра. Затем метод CreateTextBox получит тип из метода Form, и я могу привязать текстовое поле к некоторому свойству этой модели.
Update 1
Следующий код является кодом метода CreateTextBox, который будет создавать экземпляр класса TextBox.
public static CreateTextBox(string value, Expression<Func<object>> bindedProperty)
{
// T should be receive from HTML.Form method or class
return new TextBox<T>(value);
}
Возможно ли создать код, который делает что-то вроде вышеуказанного кода?
Спасибо,
Почему вы не создаете статический метод расширения для класса HTML, чтобы иметь такую общую реализацию? – asyncwait