gpt4 book ai didi

wcf - 如果 WCF 代理的方法不可见,它如何实现 ICommunicationObject?

转载 作者:行者123 更新时间:2023-12-04 14:47:55 26 4
gpt4 key购买 nike

WCF channel (通过 ChannelFactory 创建)如何实现 ICommunicationObject,但不公开 Close() 方法,例如,除非您将代理转换为 ICommunicationObject?那有意义吗?

我今天在回家的路上一直在想这件事,但我想不通。也许我问错了问题?也许我在问一个愚蠢的问题? :)

这是某种忍者技巧吗?

最佳答案

这是通过 Explicit Interface Implementation 完成的。 .

假设您有一个接口(interface),如下所示:

public interface IFoo
{
void Foo();
}

您可以正常执行此操作:
public class Bar : IFoo
{
public void Foo() {} // Implicit interface implementation
}

或者,您可以显式实现接口(interface)成员,这需要强制转换:
public class Baz : IFoo
{
void IFoo.Foo() {} // This will require casting the object to IFoo to call
}

这有时非常有用。例如,经常执行 IDisposable在首选 API 调用 .Close() 的类中, 例如。通过实现 IDisposable明确地,您“隐藏”了 Dispose()方法,但仍然允许通过 using 语句使用类实例。

关于wcf - 如果 WCF 代理的方法不可见,它如何实现 ICommunicationObject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11855225/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com