我有什麼如何正確隱藏基方法
public abstract class CustomWebViewPage<T> : WebViewPage<T>
{
public new CustomUrlHelper Url { get; set; }
public UrlHelper UUrl { get; set; }
public override void InitHelpers()
{
Url = new CustomUrlHelper(ViewContext.RequestContext);
UUrl = new UrlHelper(ViewContext.RequestContext);
}
}
public class CustomUrlHelper : UrlHelper
{
public CustomUrlHelper(RequestContext requestContext) : base(requestContext)
{
}
public CustomUrlHelper(RequestContext requestContext, RouteCollection routeCollection) : base(requestContext, routeCollection)
{
}
public string Action(string actionName)
{
return this.GenerateUrl(null, actionName, null, null);
}
}
需要寫這樣一個條件,即
if (true){Url = new CustomUrlHelper(ViewContext.RequestContext);}
else{Url = new UrlHelper(ViewContext.RequestContext);}
但是:
如何組織投或隱藏,因爲這種結構不沒有道理
public new UrlHelper Url { get; set; }
Url = new CustomUrlHelper(ViewContext.RequestContext) as UrlHelper;
電話獨生子女構造函數,但沒有一種方法
UPD:基本方法Action
不virtual
但基類中的'Action'方法不是'virtual' - 你的例子不起作用。 – AleksP 2015-02-24 18:20:20
你在使用什麼UrlHelper?在System.Web.Mvc它當然是:https://msdn.microsoft.com/en-us/library/dd504960(v=vs.118).aspx – DrewJordan 2015-02-24 18:26:25
但在元數據它看起來像這個公共字符串行動(字符串actionName,object routeValues);' – AleksP 2015-02-24 19:08:53