次のシナリオがあります: Windows ランタイム コンポーネントとしてコンパイルされた C# のデータ ライブラリ。
そのクラスの 1 つは次のようになります。
public sealed class MyData
{
string TheGoods { get; private set;}
}
UI は WinJS であり、次のものがあります。
var b = dataInstance.theGoods;
問題は、例外が発生し、プロパティに次のものが含まれていることです。
System.StubHelpers.HStringMarshaler.ConvertToNative での System.ArgumentNullException (文字列管理)
HStringMarshaler.ConvertToNative の実装を見ると、文字列が null の場合にスローされるようです。
それは、WinJS に null 文字列を公開することは不可能だということですか? それは WinJS の制限ですか、それともすべての WinRT に適用されますか?
string.Empty は機能しますが、意味的には null と同じではなく、場合によっては、空が有効で null とは異なります。
プロパティのタイプを「オブジェクト」に変更すると機能しますが、実際には文字列である必要があるオブジェクトを公開するのは面倒です。何か案は?ドキュメントはこれについてかなり軽いです