我有一个场景,我有一个自定义映射类。
我希望能够同时创建新实例并为其声明数据,并实现类似于以下的语法:
public static HybridDictionary Names = new HybridDictionary()
{
{People.Dave, "Dave H."},
{People.Wendy, "Wendy R."}
}
等等。如何定义我的类以启用这种语法?
最佳答案
您要实现的目标是 Collection Initializer
您的 HybridDictionary 类需要实现 IEnumerable<> 并具有如下所示的 Add 方法:
public void Add(People p, string name)
{
....
}
然后你的实例化应该工作。
注意:按照惯例,键应该是第一个参数,后跟值(即 void Add(string key, People value)。
关于c# - 如何为自定义 map 类实现具有内联初始化的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2022837/