2016-10-14 4 views
0

私のサーバーに「プッシュ」通知が届くのを聞いています。すべての可能なプロパティでSubscriptionModelを設定しました。JSON本体を繰り返し処理し、各サブスクリプションを解析し、作成したリストを返す前に出力を変更できます。しかし、私はSubscriptionModelのプロパティを削除する方法について知りたいときは、返す必要はありません。 nullの場合は削除してからList<SubscriptionModel> subscriptionsと返信してください。List <>内のオブジェクトのプロパティを削除する

namespace TextMessagingListener.Controllers 
{ 
    public class SubscriptionModel 
    { 
     public long push_id { get; set; } 
     public string request_id { get; set; } 
     public string subscription_id { get; set; } 
     public string message { get; set; } 
     public string status_code { get; set; } 
     public string error_message { get; set; } 
    } 

    [Route("api/[controller]")] 
    public class SubscriptionController : Controller 
    { 
     // PUT api/subscription 
     [HttpPut] 
     public List<SubscriptionModel> Put([FromBody] List<SubscriptionModel> model) 
     { 
      // Receive a report of whether your subscription(s) was successfully added or not. 
      List<SubscriptionModel> subscriptions = new List<SubscriptionModel>(); 

      foreach (SubscriptionModel m in model) 
      { 
       m.message = "Push notification successfully received."; 
       subscriptions.Add(m); 
      } 

      return subscriptions; 
     } 
    } 
} 

私が考えることができる唯一の解決策は、情報を返すためのものである別のオブジェクトを作成することです。それに私が送ってほしいアイテムをそれぞれ申請してください。

+2

Sidenote:あなたのプロパティを 'Pascal'で記述する必要があります。https://msdn.microsoft.com/en-us/library/x2dbyw72(v=vs.71).aspx – Sybren

+0

@Sybrenは前進することを知っておきましょう。 –

+0

@シブレンサイドノート:「あなた」は1つより多くの文字で綴られています。 –

答えて

1

できません。別のクラスが必要です。プロパティだけを含む「軽い」バージョン。あるいは、匿名型を行うこともできますが、これは操作が難しいです。私はあなたの命名規則に他の男と同意:) :)

+0

私はそれについてもっと考えたほうが、私は別のクラス/オブジェクト(* 。匿名のタイプは興味深いように聞こえますが、おそらく私はこの時点で把握していません。 –

+1

@ TheGuitarShawn、SubscriptionLiteModelなど何も間違っていることはありません。公開されているAPIやそのようなものとして公開している場合、私は別の名前を選ぶかもしれませんが、内部のみの場合はそれが問題ありません。 – SledgeHammer

関連する問題