3

私は C# の初心者ですが、Objective-C と OOP については豊富な経験があります。Json.NET を使用して、オブジェクトへの API 応答を自動的に解析しています。返されるオブジェクトの 1 つにprotectedという名前のプロパティがある場合があります。protected はクラス メンバー宣言のキーワードであるため、明らかにこれは問題です。

"protected": true
  1. 名前を保護したメンバーを追加することはできますか?
  2. パーサーが保護されたプロパティを設定しようとした場合、トリガーされるセッターとゲッターを追加することは可能ですか? (ただし、_protected という名前のプライベート メンバーに値を割り当てます)
  3. protectedという名前のプロパティに遭遇したときの動作が異なるように、パーサーを変更する必要がありますか?

アドバイスをありがとう。

4

2 に答える 2

5

1:

質問 1 について: 変数名として使用するキーワードの前に @ 記号を付けることができます。

例えば

public string @protected {get; set; }

ただし、これを行うことはお勧めません。JSON の「保護された」フィールドを POCO の別のプロパティに再マップできるはずです。

2:

private string _protected;

public string @protected 
{
    get 
    {
       //any additional code you want
        return _protected;
    }
    set
    {
       //any additional code you want
        _protected = value;
    }
} 

3:

君による!

于 2013-08-18T20:17:52.180 に答える
1

このソリューションを実装しました:

[JsonProperty("protected")] public bool Protected { get; set; }

ダニエル・マンが彼のコメントで示唆したように:

于 2013-08-20T05:17:10.850 に答える