Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查对象是否实现了接口_C#_Visual Studio_Visual Studio 2013_Resharper - Fatal编程技术网

C# 检查对象是否实现了接口

C# 检查对象是否实现了接口,c#,visual-studio,visual-studio-2013,resharper,C#,Visual Studio,Visual Studio 2013,Resharper,有什么方法可以快速检查一个对象是否在VisualStudio中实现了特定的接口 示例: interface IFirstInterface : ISecondInterface { } interface ISecondInterface { void DoStuff(); } class MyClass : IFirstInterface { public void DoStuff() { // ISecondInterface implementa

有什么方法可以快速检查一个对象是否在VisualStudio中实现了特定的接口

示例:

interface IFirstInterface : ISecondInterface
{
}

interface ISecondInterface
{
    void DoStuff();
}
class MyClass : IFirstInterface
{
    public void DoStuff()
    {
        // ISecondInterface implementation
    }
}
var instance = new MyClass();
实施:

interface IFirstInterface : ISecondInterface
{
}

interface ISecondInterface
{
    void DoStuff();
}
class MyClass : IFirstInterface
{
    public void DoStuff()
    {
        // ISecondInterface implementation
    }
}
var instance = new MyClass();
我的代码:

interface IFirstInterface : ISecondInterface
{
}

interface ISecondInterface
{
    void DoStuff();
}
class MyClass : IFirstInterface
{
    public void DoStuff()
    {
        // ISecondInterface implementation
    }
}
var instance = new MyClass();
在编写代码时,最好快速检查一下MyClass是否实现了ISecondInterface。这可能吗


注意:我不是说通过代码来实现这一点,只是通过VisualStudioUI。我也在使用Resharper,以防有帮助。

此检查看起来如何?显示工具提示

你可以写:

 ISecondInterface instance = new MyClass();
如果未实现接口,则不会编译/显示错误帮助

或者如果您需要实例的类型为
MyClass

 void AssureItImplements<T>(T dummy){};

 ...
 var instance = new MyClass();
 AssureItImplements<ISecondInterface>(instance);
如果我还记得的话,让你这样做,就像这里看到的,我不确定resharper,因为我没有使用它

此外,对象浏览器应该让您看到这一点。

按Control+E,H。它将带您进入重新竖琴窗口。它具有您所询问的所有功能


查看那边的工具栏以查看不同类型的视图。

您可以通过按
Ctrl+U
(转到基本符号,R#)进行检查。如果类有多个基本符号,R#将显示一个包含所有基本符号的窗口。

实际上是Ctrl+E,H