c# - 来自类结构的类使用细节

标签 c# asp.net class

我对 System.Web.Security 命名空间中的 MembershipMembershipUser 类有疑问。

这两个类都存在于不同的库中,如果不通过任何文档而仅通过类方法、属性等,人们如何知道使用细节?如果我遇到 MembershipUser 类,我会知道有一个 Email 属性,我可以获取和设置它,但我不知道有一个 Membership 类,它的方法返回用户详细信息作为 MembershipUser 返回类型,而不会以某种方式遇到它。

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

MembershipUser user = Membership.GetUser();    
string Email = user.Email;

成员(member)用户类:

public class MembershipUser
{
  ...
  public virtual string Email { get; set; }
  ...
}

成员(member)等级:

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

最佳答案

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

据我所知,VS 没有该功能,但 ReSharper 扩展有。如果您有 ReSharper,您可以右键单击一个类型,然后选择“查找高级用法”,然后选择“解决方案和库”选项以及“用法”和“成员用法”:

Resharper Find Usages Advanced Dialog Window

然后点击“查找”得到如下列表:

RESharper Find Usages search results

如您所见,该列表在结果中包含 GetUser 函数。

This answer还提到了 Reflector扩展作为此的替代选项。

不过正如其他人所说,阅读您计划使用的库的文档是无可替代的。库作者可以直接描述特定方法的工作原理(在代码注释中,然后在使用该库时在智能感知中可见),但尝试描述不同类在这些注释中如何交互通常是不切实际的。

在编写类时,通常并不知道各个部分交互的不同方式,事实上,编写良好的代码会故意设法使类保持良好的分离,以便以后可以以新的方式使用它们。因此,库作者描述库中各种元素的交互的唯一实际位置是在其文档中。

关于c# - 来自类结构的类使用细节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42541429/

相关文章:

c# - 通过方法设置变量与设置实际变量的区别

c# - 以多种形式调用方法时类变量被重置

c++ - 重载流插入和提取操作符

class - TEdit和TQuery

java - 卡片布局显示错误的面板

c# - 在不刷新的情况下在 Page_Unload 上更新 session 值?

c# - 如何使用反射或其他准确方法获取 Controller 内部的当前 ASP.NET 核心 Controller 方法名称

c# - "DataBinding: ' index+NewsItem ' does not contain a property with the name ' 链接 '",但属性存在(不是错字)

css - 如何从 asp.net 元素中删除 Bootstrap?

c# - 通过 C# 应用程序连接到 SAP