2012-01-10 52 views
0

所以我在看一个带有一些示例代码的项目。MembershipUser“GetUser()”调用重载WITH参数吗?

而网站的母版页调用MembershipUser.GetUser(); - 将其转换为自定义类型。

在提供的CustomMembershipProvider.cs类中,原始程序员为GetUser(字符串用户名,bool userIsOnline)和GetUser(对象providerUserKey,bool userIsOnline)编写了重写函数。

但他们从来没有写过一个覆盖GetUser()零或默认空参数..... ???

所以你会假设,GetUser只会带回MembershipUser的属性,但它会带回写入自定义覆盖的数据---这怎么可能?

我唯一的解释是MembershipUser.GetUser()默认功能,调用覆盖GetUser(username,userIsOnline)或GetUser(providerUserKey,userisOnline)。但这在任何地方都没有记录。

这是正确的吗?因为示例代码中没有可以找到此GetUser()覆盖的位置,并且被覆盖的GetUser()没有缺省参数。

回答

1

是的。

从反光

public static MembershipUser GetUser() 
{ 
    return GetUser(GetCurrentUserName(), true); 
} 
+0

- 尼斯找到,我不知道在哪里可以找到这些东西。另外,它从哪里获得当前用户名?我只给它当前的用户ID。 – Dexter 2012-01-10 17:03:25

+0

下载反射器http://www.reflector.net/,它的一个必须有工具 – 2012-01-11 13:26:33