В настоящее время я создаю несколько пользовательских вспомогательных классов, аналогичных стандарту ASP.NET MVC HtmlHelper
. Когда я посмотрел на реализацию HtmlHelper
, я заметил, что большинство / все методы генерации HTML (такие как ActionLink()
, BeginForm()
, TextBox()
и т. Д.) Не реализованы непосредственно внутри класса HtmlHelper, но как методы расширения в отдельных классах (например, в class LinkExtensions
).
Есть ли какое-то преимущество при реализации таких методов, как методы расширения вместо обычных методов, кроме более приятной организации исходного кода?
При создании своих собственных вспомогательных классов я должен также следовать этому шаблону?
Обновление : когда я писал, что хочу создать свой собственный вспомогательный класс, тогда я действительно хотел расширить существующий класс HtmlHelper. Вместо этого я создал собственный базовый класс для своих представлений (производный от ViewPage) и хочу добавить туда дополнительный вспомогательный класс, аналогичный вспомогательным классам Html и Url в ViewPage.