WCF チャネル (ChannelFactory を介して作成) はどのように ICommunicationObject を実装しますが、プロキシを ICommunicationObject にキャストしない限り、Close() メソッドを公開しませんか? それは理にかなっていますか?
今日の帰り道、ふとそんなことを考えてしまったのですが、頭に浮かびませんでした。多分私は間違った質問をしていますか?たぶん私は愚かな質問をしていますか?:)
忍術の一種でしょうか?
WCF チャネル (ChannelFactory を介して作成) はどのように ICommunicationObject を実装しますが、プロキシを ICommunicationObject にキャストしない限り、Close() メソッドを公開しませんか? それは理にかなっていますか?
今日の帰り道、ふとそんなことを考えてしまったのですが、頭に浮かびませんでした。多分私は間違った質問をしていますか?たぶん私は愚かな質問をしていますか?:)
忍術の一種でしょうか?
Channel
クラスはインターフェイスを明示的に実装しますICommunicationObject
。明示的なインターフェイスの実装と暗黙的なインターフェイスの実装の違いを示す例を次に示します。
internal interface IExample
{
void DoSomething();
}
class ImplicitExample : IExample
{
public void DoSomething()
{
// ...
}
}
class ExplicitExample : IExample
{
void IExample.DoSomething()
{
// ...
}
}
class Consumer
{
void Demo()
{
var explicitExample = new ExplicitExample();
// explicitExample.DoSomething(); <-- won't compile
((IExample)explicitExample).DoSomething(); // <-- compiles
var implicitExample = new ImplicitExample();
implicitExample.DoSomething(); // <-- compiles
}
}
この件に関する MSDN 記事へのリンクは次のとおりです: http://msdn.microsoft.com/en-us/library/ms173157.aspx