不可变属性或不可变包装对象——哪一个?

Immutable attribute or Immutable wrapper object - which one?

可能知道的人的快速问题!

在 Orleans 中似乎有两种方法可以将消息标记为不可变..

new Immutable(...) 或在消息上使用 [Immutable] 属性 class

哪个是首选,更重要的是为什么 - 或者这只是个人品味的问题?

[Immutable] 适用于那个 class 的所有实例(无论你在哪里使用它,这个 class 的实例都将被认为是不可变的),而 new Immutable(...) 适用每个实例的使用(在一个地方你可以将你的 class 作为可变的传递,而在其他地方作为不可变的传递)。如果此 class 的所有实例将始终是不可变的,则 [Immutable] 是一种更简洁和优雅的方法。