1

私は2つのファイルを持っています。1 つはクラス宣言で、もう 1 つはインターフェイス宣言です。クラスはインターフェイスを実装する必要があります。クラスがインターフェイスメソッドを実装している場合、NRefactory をチェックインするにはどうすればよいですか?

詳細を説明する必要があります。

最初のファイル - 例:

class Test : IF
{
}

そして2番目

interface IF
{
    void Foo();
}

これらのファイルを読み取り、NRefactory で解析する必要があります。クラス Test がインターフェイス IF からメソッドを実装しているかどうかを確認する必要があります。

コンパイルせず、コンパイル済みアセンブリをロードします。

4

3 に答える 3

3

isキーワードを使用する

http://msdn.microsoft.com/en-us/library/scekt9xw.aspx

if (myObj is IMyInterface) {
 ....
}
于 2013-12-12T15:17:34.823 に答える
2

asまたは、キーワードを使用することもできます。

class MyClass {  }
interface IInterface {  }

MyClass instance = new MyClass();
var inst = instance as IInterface;
if (inst != null)
{
    // your class implements the interface
}

追加の参照入力なしで後でそのインスタンスを使用する必要がある場合は、これを使用します。あなたはまだするis必要があります

if (instance is IInterface) 
{
    var inst = (IInterface) instance;
}

また

(instance as IInterface).InstanceProperty

だからすぐにそれをしないでください。

于 2013-12-12T15:19:46.813 に答える