我有一个扩展方法如下:使用扩展方法的扩展类
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