2

私が言おうとしているのは、オブジェクトがインターフェイスとして定義され、クラス ファクトリからインスタンス化された場合、VS 2008 でそのオブジェクトからのメソッド呼び出しを右クリックして、実際のコードを表示する代わりに、インターフェイスの空の署名?

言い換えれば、私たちのコードにはこれがたくさんあります:

ISomeInterface myObject = ObjectCreationFactory.CreateConcreteClassX();

myObject.DoSomething();

DoSomething() を右クリックしてその定義に移動すると、ISomeInterface に (空の) メソッド定義が表示され、ObjectCreationFactory によって返されたクラスの定義は表示されません。

確かに、CreateConcreteClassX() でソースに移動して、どのクラスがインスタンス化されているかを確認し、そこから移動できますが、VS2008 に「インターフェースを見ないで、見てください」と伝える方法があればいいのですが。具体的な実装で。」夢を見ているのかもしれませんが、とにかく聞いてみようと思いました。助けてくれてありがとう。

4

2 に答える 2

2

CreateConcreteClass() はISomeInterface を実装する任意のオブジェクトを返す可能性があるため、コンパイル時にインターフェイス メンバーがどのメソッドを指すかを知る方法はありません。いつでも通話を追跡して、どこにたどり着いたかを確認できます。

于 2009-11-06T21:02:56.583 に答える