2016-09-28 72 views
0

我想使用Dictionary作为自定义类的成员引用,但我有一些问题需要理解如何使用泛型进行定义。
我有以下的银行代码:如何在通用自定义类中使用字典

public class MyDictionary<K,V> { 
    private var dict : Dictionary<K,V> 

    public init() { 
    dict = Dictionary<K,V>() 
    } 
} 

在我的应用程序后来我想与几个类型的创建词典:

dict1 = MyDictionary<Int,String>() 
dict2 = MyDictionary<String,MyCustomClass>() 
... 

哪里是我的错误推理?

回答

0

只有可哈希类型可以被存储为夫特字典的键:

class MyDictionary<Key : Hashable, ValueType> { 
    private var dict : Dictionary<Key,ValueType> 

    internal init() { 
     dict = Dictionary<Key,ValueType>() 
    } 
} 

var dict1 = MyDictionary<Int,String>() 
var dict2 = MyDictionary<String,String>() 
相关问题