c# - 为什么 IPEndPoint 是可变的?有不变的版本吗?

标签 c# network-programming immutability endpoint

根据 the documenation on MSDN , IPEndPoint 可以设置其 AddressPort 属性。

为什么这个类被设计成可变的?对于相同的 reasons 似乎它应该是不可变的String 等类是。

是否有此类的不可变版本更适合传递线程、事件处理程序等?

最佳答案

没有内置该类的不可变版本。


答案的主观部分:使此类可变是 .NET Framework 中的设计缺陷。 15 年前,当它被创建时,人们并不知道不变性通常会使 API 设计更好。 BCL 有很多不应该存在的可变性地方。

关于c# - 为什么 IPEndPoint 是可变的?有不变的版本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32411099/

相关文章:

java-8 - Java : Are Instance methods Prohibited for Domain Objects in Functional Programming?

immutability - Eiffel 中的不可变类

c# - DotNet Core - 加密哈希函数返回不一致的结果

c# - 带通配符的 Active Directory 查询性能不佳

java - 检测迟到的响应

c - 接收特定消息的socket编程C

python - 是否可以防止从卡住的 python 数据类中读取?

c# - 将字符串转换为日期

c# - 通过引用将 int 从 C++/CLI 传递到 C#

c++ - Boost ASIO TCP 服务器架构