我有一個擴展方法如下:使用擴展方法的擴展類
public static class PageExtensions
{
public static int GetUserId(this Page targetPage)
{
var user = Membership.GetUser(targetPage.User.Identity.Name);
return (int)user.ProviderUserKey;
}
}
現在在一個頁面中,我需要在一個靜態的WebMethod使用這種方法,所以我增加了一個「擴展方法「到PageExtensions:
public static int GetUserId()
{
return (int)Membership.GetUser(HttpContext.Current.User.Identity.Name).ProviderUserKey;
}
,我把它作爲我的WebMethod如下:
PageExtensions.GetUserId()
這是一個感傷做事的方式?還有其他方法嗎?
我唯一的評論是,第二種方法是不是擴展方法,因此您對兩種不同的(儘管相關的)方法使用相同的名稱。 – 2010-08-16 19:28:14