Ну, у вас есть 2
общие параметры, пусть они будут TKey
и TValue
:
public class MyObservableDictionary<TKey, TValue>
Ваш класс реализует два интерфейса :
- "Я хочу, чтобы ... коллекция была словарем " -
IDictionary<TKey, TValue>
- «Я хотел бы создать собственную реализацию
INotifyCollectionChanged
»
Добавьте их:
public class MyObservableDictionary<TKey, TValue>
: IDictionary<TKey, TValue>,
INotifyCollectionChanged
Наконец, если я вас правильно понял, вы хотите ограничить и TKey
, и TValue
только struct
; Вы можете сделать это с помощью where
:
public class MyObservableDictionary<TKey, TValue>
: IDictionary<TKey, TValue>,
INotifyCollectionChanged
where TKey : struct
where TValue : struct {
//TODO: implementation here
}