首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Akka.net消息不可变性

Akka.net消息不可变性
EN

Stack Overflow用户
提问于 2017-08-12 00:48:20
回答 1查看 536关注 0票数 2

我一直在研究Akka.net bootcamp,根据我读到的关于消息的东西,我遇到了一些令我困惑的事情。

messaging documentation中,它声明消息应该是不可变的。

在训练营的第2单元中,Initialize Chart消息在两个级别上似乎是可变的。

代码语言:javascript
复制
public class InitializeChart
{
    public InitializeChart(Dictionary<string, Series> initialSeries)
    {
        InitialSeries = initialSeries;
    }

    public Dictionary<string, Series> InitialSeries { get; private set; }
}

首先,可以修改字典内容(添加、删除等)。其次,字典项Series是可变的。

我有两个问题:

1)我对如何构建Akka.net消息的解释有误吗?(这个示例实际上是正确的。)

2) Akka.net消息应该一直保持不变吗?例如,如果此消息更改为:

代码语言:javascript
复制
public class InitializeChart
{
    public InitializeChart(Dictionary<string, Series> initialSeries)
    {
        InitialSeries = new ReadOnlyDictionary<string, Series>(initialSeries);
    }

    public IReadOnlyDictionary<string, Series> InitialSeries { get; private set; }
}

这是否满足Akka.net消息的要求,或者系列元素也应该是不可变的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-12 05:23:07

是的,该消息应该使用IReadOnlyDictionary才能是不可变的。你是对的。element对象本身也应该包含只读属性。

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

https://stackoverflow.com/questions/45640093

复制
相关文章

相似问题

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