Исключение при попытке прочитать пустую строку в компоненте C # WinRT из WinJS
У меня есть следующий сценарий: библиотека данных в C # скомпилирована как компонент среды выполнения Windows.
Один из его классов выглядит так:
public sealed class MyData
{
string TheGoods { get; private set;}
}
Пользовательский интерфейс находится в WinJS, и у меня есть следующее:
var b = dataInstance.theGoods;
Проблема в том, что я получаю исключение, а свойство содержит следующее:
System.ArgumentNullException в System.StubHelpers.HStringMarshaler.ConvertToNative (управляемая строка)
Глядя на реализацию HStringMarshaler.ConvertToNative, кажется, что он выбрасывает, если строка является нулевой.
Означает ли это, что этоневозможно выставить пустую строку в WinJS? Это ограничение WinJS или это относится ко всем WinRT?
В то время как string.Empty работает, это 'Семантически не то же самое, что нуль, а в некоторых случаях пустое допустимо и отличается от нулевого.
Если я изменю тип свойства наобъект», тогда это работает, но кажется неприятным выставлять объект, когда он действительно должен быть строкой. Есть идеи? Документы довольно легки в этом