C# 来自类结构的类使用详细信息

C# 来自类结构的类使用详细信息,c#,asp.net,class,C#,Asp.net,Class,我对System.Web.Security命名空间中的成员身份和成员身份用户类有疑问 这两个类都存在于单独的库中,人们如何知道使用细节而不必阅读任何文档,只需通过类方法、属性等?如果我遇到MembershipUser类,我会知道有一个Email属性可以获取和设置,但我不知道有一个MembershipUser类,该类的方法返回用户详细信息为MembershipUser返回类型,而不会遇到它 例如,为了获取用户的电子邮件地址,我们可以创建一个MembershipUser对象,并使用Membershi

我对System.Web.Security命名空间中的
成员身份
成员身份用户
类有疑问

这两个类都存在于单独的库中,人们如何知道使用细节而不必阅读任何文档,只需通过类方法、属性等?如果我遇到
MembershipUser
类,我会知道有一个
Email
属性可以获取和设置,但我不知道有一个
MembershipUser
类,该类的方法返回用户详细信息为
MembershipUser
返回类型,而不会遇到它

例如,为了获取用户的电子邮件地址,我们可以创建一个
MembershipUser
对象,并使用
Membership
类提供的
GetUser()
方法,因为
GetUser()
的返回类型为
Membership
。像这样的

MembershipUser user = Membership.GetUser();    
string Email = user.Email;
成员身份用户类别:

public class MembershipUser
{
  ...
  public virtual string Email { get; set; }
  ...
}
会员类别:

public static class Membership
{
  ...
  public static MembershipUser GetUser();
  ...
}

我想您可能正在Visual Studio中寻找一个“按返回类型查找方法”功能,它允许您说“在.net库中哪些方法返回此类型”,或者在您的示例中具体地说“哪些方法返回类型为
MembershipUser
”的对象?”

据我所知,VS没有这个功能,但是ReSharper扩展有。如果您有ReSharper,您可以右键单击一个类型,然后选择“Find Usages Advanced”,然后选择“Solutions and libraries”选项以及“Usages”和“Usages of Members”:

然后单击“查找”以获得如下列表:

如您所见,该列表包括结果中的
GetUser
函数

还提到了扩展作为这方面的替代选项

正如其他人所说,没有什么可以替代阅读您计划使用的库的文档。对于库作者来说,描述特定方法的工作方式很简单(在使用该库时在intellisense中可见的代码注释中),但试图描述不同类如何在这些注释中交互通常是不切实际的


在编写类时,通常不知道各部分交互的不同方式,事实上,编写良好的代码会有意地将类保持良好的分隔,以便以后可以以新的方式使用它们。因此,对于图书馆作者来说,描述图书馆各种元素之间相互作用的唯一实际位置是在其文档中。

这里真正的问题是什么?有时你只需要阅读文档即可。如果没有文档,您如何知道这些类中的任何一个存在?如果某个地方没有记录.NET framework,您怎么知道它存在呢?这个问题太复杂了,无法回答。如果您不想阅读文档,可以使用dotPeek或ILSpy反编译程序集,并浏览对象。但我不确定这是否能帮你省力。如果你是一名开发人员,通过自动化重复性任务来偷懒是好的,但我认为这条规则不适用于做研究。