0

c# を使用して .Net に取り組んでいます。C#クラスでは、NAME、AGE、CITY、GENDERなどのプロパティを持つPERSONクラスのように、オプションのプロパティを使用したいと考えています。

 public class PERSON
 {
   public string NAME{get; set;};
   public int AGE {get; set;}
   public string CITY {get; set;}
   public string GENDER {get; set;}
 }

ここで、NAME、AGE AND CITY のプロパティ値を割り当てました。

 PERSON objper = new PERSON();
 objper.NAME="ABC";
 objper.AGE="22";
 objper.CITY="NYC";

 string strresult = calPerson(objper);

今、この PERSON オブジェクト「objper」を 1 つのメソッドに渡します。このメソッドは、以下のような xml 形式で PERSON のプロパティ値を返します。GENDER プロパティの値を渡しません。

 public string calPerson(PERSON objPerson)
{
   //"<xml><name>abc</name><age>22</age><city>nyc</city><gender></gender></xml>"
   return xml formated string.
}

xml 形式の文字列を作成しているときに、値を送信していなくても、NULL 値を持つ GENDER ノードを取得します。

私だけが欲しい

    <xml>
       <name>abc</name><age>22</age><city>nyc</city>
    </xml>

出力として。

これで、PERSON オブジェクトを受け入れる別のメソッド calGender() ができました。

 objper = new PERSON();
 objper.GENDER="male";

public string calGender(PERSON objPerson)
{
   //"<xml><name></name><age></age><city></city><gender>male</gender></xml>"
   return xml formated string.
}

xml 形式の文字列を作成しているときに、値を送信していなくても、名前、年齢、都市ノードの値を null で取得しています。

私だけが欲しい

       <xml>
          <gender>male</gender>
       </xml>

出力として。

だから、NAME、AGE AND CITY プロパティを calPerson() メソッドだけに使いたい。PERSON クラスに GENDER プロパティは必要ありません。GENDER プロパティを calGender() メソッドにのみ使用したいのですが、PERSON クラスに NAME、AGE、および CITY プロパティを使用したくありません。

これを行う方法を教えてください...

アニルジャヤンティ。

4

3 に答える 3

2

DataContractSerializerまたは のような組み込みシリアライザーを非常にうまく使用しXmlSerializer、属性を使用して、[XmlIgnore]シリアライズしたくないプロパティをスキップできます。

詳しくはこちら

于 2013-05-13T09:26:28.460 に答える
0
 public class PERSON
 {
   public string NAME{get; set;}
   public int AGE {get; set;}
   public string CITY {get; set;}

 }
class PERSON1 : PERSON
{
      public string GENDER {get; set;}
}

"calPerson()" の呼び出しで PERSON を使用し、"calGender()" で PERSON1 を使用します。

于 2013-05-13T09:29:44.727 に答える