2

好的,所以我最近一直在学习 c# 和 .net ,而 java 文档(例如ArrayList doc)中http://msdn.microsoft.com/上的 c# 文档中似乎缺少的一件事是java 类的文档会说:

所有实现的接口:Serializable、Cloneable、Iterable、Collection、List、RandomAccess 直接已知子类:AttributeList、RoleList、RoleUnresolvedList

这使我能够找出它实现了哪些接口,并可能发现我还不知道的接口。我可以进一步单击一个接口并获取有关哪些类实现它(无论如何在标准类中)以及哪些接口扩展它的信息:

All Superinterfaces:
     Iterable<E>
All Known Subinterfaces:
     BeanContext, BeanContextServices, BlockingDeque<E>, BlockingQueue<E>, ...
All Known Implementing Classes:
     AbstractCollection, AbstractList, AbstractQueue, AbstractSequentialList, ...

使用 Microsoft 的文档时,我只得到基类和可能的子类:

System.Object 
  System.MarshalByRefObject
    System.IO.Stream
      More...

“更多...”是与子类列表的链接。

文档中是否有办法以类似于我们在 Java 文档中的方式查找 .Net 类实现的接口?

编辑:我正在使用 Visual Studio Express 和 MSDN 上的公开文档,所以我想答案可能是:是的,你可以,但你必须先支付 [完整的 Visual Studio|MSDN 订阅|...]。

4

4 回答 4

4

文档

查看文档中的语法部分(例如IObservableCollection(T))。

这给出了类声明,包括实现的接口

[SerializableAttribute]
public class ObservableCollection<T> : Collection<T>, 
    INotifyCollectionChanged, INotifyPropertyChanged

间谍

但是,对于文档不可用的类,您可以使用反汇编程序,例如ILSpy。只需选择一个类,它就会显示所有基类型和派生类型。 在此处输入图像描述

对象浏览器 最后,您还可以在 Visual Studio 中使用对象浏览器(我不能 100% 确定它在 Express 中)。查看对象浏览器。这将根据您的需要显示基本类型。

在此处输入图像描述

于 2013-07-03T12:10:42.607 回答
1

在 Visual Studio 中,将插入符号放在您想了解的内容上,例如bool,然后按F12

它会显示你按下的东西的定义F12,所以对于bool

namespace System
{
    // Summary:
    //     Represents a Boolean value.
    [Serializable]
    [ComVisible(true)]
    public struct Boolean : IComparable, IConvertible, IComparable<bool>, IEquatable<bool>
    {
        // Summary:
        //     Represents the Boolean value false as a string. This field is read-only.
        public static readonly string FalseString;
...

此外,您可以打开代码定义窗口(查看>代码定义窗口,Ctrl+ WD),它将在窗口中显示以上内容 - 无需按下按钮!

于 2013-07-03T12:30:18.220 回答
0

Resharper 也有一个允许这样做的功能。如果您按 Ctrl+Shift+F1,那么您可以看到有关该类的文档以及它实现的接口的完整列表。您可以使用 resharper 反编译它以获得相同的结果(尽管它对于您的需要来说有点太多了)。

于 2013-07-03T12:30:57.777 回答
0

Resharper 有Go to Base Symbols。您可以使用:

  • CTRL + U
  • 右键单击类名 > 导航 > 基本符号
  • Resharper 菜单 > 导航 > 基本符号

此命令允许您将继承层次结构向上导航到当前符号的基类型 [包括类和接口] 或方法。

这是来自 XAML.cs 文件的示例

在此处输入图像描述

于 2018-04-17T01:38:11.123 回答