1

現在、グローバルに変更が加えられるのを防ぐために、いくつかの構成値のスコープを設定しています。

 using(var scope = JsConfig.BeginScope()) 
 {
    scope.DateHandler = JsonDateHandler.ISO8601;
    scope.EmitCamelCaseNames = true;

    // perform serialization
 }

ただし、GUID をダッシュ​​でフォーマットする必要があるため、GUID のシリアル化関数を次のように変更する必要があります。

 JsConfig<Guid>.SerializeFn = guid => guid.ToString("D");

上記の他の構成設定と同様に、範囲内でこの変更を行うことは可能ですか?

4

1 に答える 1

1

いいえ、それをスコープすることはできません。ただし、スコープを自分で管理する必要があるため、シリアル化メソッドを追加してから削除できます。

JsConfig<Guid>.SerializeFn = guid => guid.ToString("D");
Debug.WriteLine(new Guid().ToJson());

JsConfig<Guid>.SerializeFn = null;
Debug.WriteLine(new Guid().ToJson());

これは出力されます:

"00000000-0000-0000-0000-000000000000"
"00000000000000000000000000000000"
于 2013-07-25T20:56:52.600 に答える