我对System.Web.Security命名空间中的Membership
和MembershipUser
类有疑问。
这两个类都存在于不同的库中,如何在不通过任何文档和类方法,属性等的情况下知道使用细节?如果我遇到MembershipUser
类我会知道有一个Email
属性我可以获取和设置,但我不知道有一个Membership
类有返回用户详细信息的方法如MembershipUser
返回类型而没有以某种方式遇到它。
例如要获取用户电子邮件地址,我们可以创建MembershipUser
对象并使用GetUser()
类提供的Membership
方法,因为GetUser()
的返回类型为Membership
。这样的事情。
MembershipUser user = Membership.GetUser();
string Email = user.Email;
MembershipUser Class:
public class MembershipUser
{
...
public virtual string Email { get; set; }
...
}
会员级别:
public static class Membership
{
...
public static MembershipUser GetUser();
...
}
答案 0 :(得分:3)
我认为你可能正在寻找一种通过返回类型"找到方法。 Visual Studio中的工具,允许您说" .net库中的哪些方法返回此类型",或者特别是在您的示例中#34;哪些方法返回类型MembershipUser
的对象&# 34 ;?
据我所知,VS并没有这种设施,但ReSharper扩展确实如此。如果你有ReSharper,你可以右键单击一个类型,然后选择"查找高级用法"然后选择"解决方案和库"选项和"用法"和"会员的用法":
点击“查找”以获得如下列表:
如您所见,该列表包含结果中的GetUser
函数。
This answer还提到Reflector扩展名作为替代选项。
正如其他人所说,没有什么可以替代您阅读计划使用的图书馆的文档。图书馆作者可以直截了当地描述特定方法的工作原理(在使用该库时在智能感知中可见的代码注释中),但尝试描述不同类的交互方式通常是不切实际的。在那些评论中。
在编写类时,通常不会知道各个部分之间的交互方式,并且编写良好的代码会故意设法将类保持良好分离,以便以后可以以新的方式使用它们。因此,图书馆作者描述图书馆各个元素互动的唯一实际地点在于其文档。