Исключение при попытке прочитать пустую строку в компоненте 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 работает, это 'Семантически не то же самое, что нуль, а в некоторых случаях пустое допустимо и отличается от нулевого.

Если я изменю тип свойства наобъект», тогда это работает, но кажется неприятным выставлять объект, когда он действительно должен быть строкой. Есть идеи? Документы довольно легки в этом

Ответы на вопрос(1)

Ваш ответ на вопрос