【发布时间】:2015-09-05 08:36:55
【问题描述】:
根据the documenation on MSDN,IPEndPoint 可以设置其Address 和Port 属性。
为什么这个类被设计成可变的?对于像String 这样的类,它似乎应该是不可变的reasons。
这个类是否有更适合传递线程、事件处理程序等的不可变版本?
【问题讨论】:
-
如果您需要一个不可变的版本,只需构建它。如果你将一个实例传递给任何东西,你总是必须决定你是对实例本身感兴趣还是对它所代表的值/状态感兴趣。如果您只需要值/状态,则可以存储它们的副本。如果邮递员给你带来了一封信,你只拿信而不是邮递员——尽管你可以记住是谁。如果你读了这封信,你并没有把这封信放在你的脑海里,而是把文字的意思放在脑海里——>一个副本
标签: c# network-programming immutability endpoint