我有一个在课堂上暴露的不变的字典.
目前我的代码看起来像
using System.Collections.Generic;
using System.Collections.ObjectModel;
public class FooClass
{
private static ReadOnlyDictionary<string, byte> _validRevisions
= new ReadOnlyDictionary<string, byte>(
new Dictionary<string, byte>() {
{ "1.0", 0x00 },
{ "1.1", 0x01 },
{ "1.2", 0x02 },
{ "1.3", 0x03 }
} );
public static ReadOnlyDictionary<string, byte> ValidRevisions => _validRevisions;
// other FooClass contents...
}
Run Code Online (Sandbox Code Playgroud)
我已经使用了支持字段,_validRevisions因为我无法找到创建共享常量字典属性的更好方法.是否有更简洁的方法来管理这个或者我应该让这个领域公开?
我的主要问题是有一个较短的方法来初始化_validRevisions字段本身?创建一个内联字典以将其传递到一个字典(恰好是只读)似乎有点......代码味道.是吗?有没有更好的办法?
编辑:关于ROD的另一件事我刚才注意到,没有方法支持检查它是否包含给定值...是否有与之相关的原因'只读 - 是什么?