2016-08-16 3 views
0

Класс наследует класс Dictionary. Как я могу создать объект этого класса.Как создать объект класса, который расширяет словарь

Class A : Dictionary <string , object> 
{ 
    A(); 
} 

Dictionary<string , object> d=new Dictionary<string , object>(); 

A a= new A(d); 

Вышеупомянутый код не работает.

Dictionary<string, object> p = new Dictionary<string, object>() 
     { 
      {"PKeyId","81614-901-000001-124"} 
     }; 
     ODataActionParameters parameter = (ODataActionParameters) new Dictionary<string, object>(p); 

Вышеупомянутый код вызывает проблему.

+1

Почему вы подозреваете, что он должен работать? Это не работает. Просто назовите 'A a = new A();'. Кажется, вы смешиваете дизайн 'has-a' и' is-a'. Выберите один и идите с ним. – nvoigt

+0

В основном я пытаюсь создать объект OdataActionParameters. Если я использую свой путь для создания объекта, тогда он дает пустое исключение, когда я запускаю свою программу. – alice

+1

Если вам нужна помощь для отладки, отправьте сообщение [mcve]. – nvoigt

ответ

1

Вы можете вызвать конструктор базового класса следующим образом, делает это, что вы хотите?

public class A : Dictionary<string, object> 
{ 
    public A(IDictionary<string, object> dictionary) : base(dictionary) 
    { } 
} 

Dictionary<string, object> d = new Dictionary<string, object>(); 

A a = new A(d); 
Смежные вопросы