Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблемка с типами в 2005 / 7 сообщений из 7, страница 1 из 1
11.07.2006, 17:27
    #33845868
californie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемка с типами в 2005
На эту линию
            IDictionary<string, object> contextInfo = (IDictionary<string, object>) new Hashtable();

выдается такая ошибка...
Unable to cast object of type 'System.Collections.Hashtable' to type 'System.Collections.Generic.IDictionary`2[System.String,System.Object]'

Подскажите что нужно поменять?
...
Рейтинг: 0 / 0
11.07.2006, 17:51
    #33845948
mishazhutov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемка с типами в 2005
IDictionary<string, object> contextInfo = new Dictionary<string, object>();
...
Рейтинг: 0 / 0
11.07.2006, 17:56
    #33845965
Juice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемка с типами в 2005
Ошибка возникает из-за невозможности приведения типов, в частности System.Collections.Hashtable к типу который должен реализовывать System.Collections.Generic.IDictionary.
Вы "мешаете" Generic IDictonary<> c обычной коллекцией, в часности класс Hashtable реализует интерфейсс IDictonary из System.Collections, а не из System.Collections.Generic. Определитесь, что Вам нужно, можно написать так:
IDictionary contextInfo =  new Hashtable();
или так.
IDictionary<string, object> contextInfo =  new Dictionary<string, object>(); 
Без всякого приведения типов.
С ув. Сергей.История - это огромная система раннего предупреждения.
Norman Cousins
...
Рейтинг: 0 / 0
11.07.2006, 18:04
    #33845994
californie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемка с типами в 2005
если делаю
            IDictionary<string, object> contextInfo = new IDictionary<string, object>();
то говорит что Can not create an instance of an abstract class or interface

если же делаю так:
IDictionary contextInfo = new Hashtable();

то выдается куча ошибок начиная со строки provider.Populate...
DebugInformationProvider provider = new DebugInformationProvider();
provider.PopulateDictionary(contextInfo);
...
Рейтинг: 0 / 0
11.07.2006, 18:08
    #33846007
mishazhutov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемка с типами в 2005
делать надо не так :

IDictionary<string, object> contextInfo = new IDictionary<string, object>();

а так:

IDictionary<string, object> contextInfo = new Dictionary<string, object>();

Есть небольшая разница.
...
Рейтинг: 0 / 0
11.07.2006, 18:16
    #33846026
Juice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемка с типами в 2005
http://www.codeproject.com/dotnet/GetLoggingWithEntLib.asp нужно писать, что Вы делаете:) Конечно первый вариант, в контексте выполняемой Вами задачи не коректен. А во втором 100% проблема в Вашем коде. По ссылке статья где, рассматривается использование логирование с использованием EnterpriseLibrary. C ув. Сергей.История - это огромная система раннего предупреждения.
Norman Cousins
...
Рейтинг: 0 / 0
11.07.2006, 18:21
    #33846038
californie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемка с типами в 2005
спасибо за ответы. вариант
IDictionary<string, object> contextInfo = new Dictionary<string, object>();
работает.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблемка с типами в 2005 / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]