首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TcpClient如何实现IDisposable而没有公共的Dispose方法呢?

TcpClient如何实现IDisposable而没有公共的Dispose方法呢?
EN

Stack Overflow用户
提问于 2010-02-24 19:27:18
回答 2查看 939关注 0票数 15

正如标题所说:

TcpClient如何实现IDisposable而没有公共的Dispose方法呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-24 19:27:34

通过使用explicit interface implementation。而不是

代码语言:javascript
复制
public void Dispose()
{
    ...
}

如果真是这样

代码语言:javascript
复制
void IDisposable.Dispose()
{
    ...
}

各种其他类型都会这样做;有时是出于必要(例如,支持IEnumerable.GetEnumeratorIEnumerable<T>.GetEnumerator),而有时是为了在已知具体类型的情况下公开更合适的接口。

票数 11
EN

Stack Overflow用户

发布于 2010-02-24 19:30:48

参见explicit interface implementation。您需要显式地将TcpClient实例强制转换为IDisposable,或者将其包装在using() {...}块中。请注意,显式实现IDisposable的类通常提供公共Close()方法

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2325546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档