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