Ich habe folgende HTML-Helfer-Methode:konvertieren statische Methode mit generischen paramerter auf eine generische Klasse
public static MvcHtmlString CustomEditorFor<TModel, TProperty>(this HtmlHelper<TModel> helper,
Expression<Func<TModel, TProperty>> expression,
EditorOptions options,
object htmlAttributes)
{
}
ich ein Bedürfnis haben, in eine Helfer-Bibliothek bewegen sie zu setzen, die auf diese Weise strukturiert ist:
Ich kann nicht herausfinden, wie ich meine HelperFactory-Klasse und den EditorBuilder-Klassenkonstruktor strukturiere, um die Generics richtig zu behandeln.
Das ist, was ich versucht und es hat nicht funktioniert:
public static HelperFactory<TModel, TProperty> Custom<TModel, TProperty>(this HtmlHelper<TModel> helper)
{
return new HelperFactory<TModel, TProperty>(helper);
}
public class HelperFactory<TModel, TProperty> : HelperFactory
{
public HtmlHelper<TModel> HtmlHelper { get; set; }
public HelperFactory(HtmlHelper<TModel> htmlHelper)
: base((HtmlHelper)htmlHelper)
{
this.HtmlHelper = htmlHelper;
}
public virtual EditorBuilder<TModel, TProperty> CustomEditorFor(Expression<Func<TModel, TProperty>> expression,
EditorOptions options,
object htmlAttributes)
{
return new EditorBuilder<TModel, TProperty>(this.HtmlHelper,
expression,
options,
htmlAttributes);
}
}
public class EditorBuilder<TModel, TProperty>
{
public EditorBuilder(HtmlHelper<TModel> helper,
Expression<Func<TModel, TProperty>> expression,
EditorOptions options,
object htmlAttributes)
{
}
}
Das Endziel es zu sein der Lage ist, auf diese Weise zu verwenden. @ Html.Custom() CustomEditorFor (Modell => Modell.Property)
Jede Hilfe würde sehr geschätzt werden.