При переносе некоторого кода на таргетинг PCL. Net4.5/Silverlight5 свойство исчезает на уровне ResourceManager
.PCL: отсутствует свойство
Это свойство существует как в .Net4.5, так и в Silverlight5, поэтому «пересечение» обоих API должно было оставить его доступным. (это свойство существует с .Net2 и не выглядит устаревшим)
Я использую IgnoreCase
как резерв для получения значений resx. Я нашел определенную информацию о msdn о ResourceManager with PCL
, но ничего об этом «IgnoreCase
issue».
- Почему такое странное поведение API?
- Есть ли обходной путь для получения значений
ResourceManager
с помощью клавиш, нечувствительных к регистру?
И последнее, но не в последнюю очередь, я декомпилированы Profile24 & Profile47 \ mscorlib.dll с отражателем, кажется, ResourceManager
просто не реализован .. (это GetString
методы просто возвращает нуль), и это, конечно, IgnoreCase
отсутствует. Что мне не хватает?
Профили PCL создают минимально жизнеспособное общее подмножество платформы .NET на основе базовых возможностей системы. Почему конкретная функциональность отсутствует в каком-либо конкретном профиле, основана на некотором ограничении поддерживаемых платформ. Перемещено это на комментарий, потому что он не отвечает на вопрос «почему». –
Да, я знаю, что это свойство присутствует как на .Net 4.5, так и в Silverlight 5 ... И PCL должен в этом случае «пересекать» оба API. «Минимальное общее подмножество» здесь хорошо объясняется как пересечение: http://www.kenneth-truyers.net/2013/03/27/portable-class-libraries-or-source-code-sharing/ ResourceManager присутствует в как API, так и свойство IgnoreCase. Поэтому мой вопрос: что происходит? почему это происходит? и есть ли обходной путь? – rducom
Похоже, что это может быть связано с комментарием о выполнении запросов, нечувствительных к регистру. Они не рекомендуют это делать, поэтому они убрали способность? –