0

これらのプロパティを持つビジネス オブジェクトがあります。

Public class Person
{
  prop int ID {get; set;}
  prop string Name {get; set;}
  prop string Address1 {get; set;}
  prop string Address2 {get; set;}
}

この方法があります

Public Void CreateEntity(Person objPerson)
{
 Person newPerson = new Person();
 newPerson.Name = objPerson.Name;
 newPerson.ID = objPerson.ID;
 newPerson.Address1 = objPerson.Address1;
 newPerson.Address2 = objPerson.Address2;

  ...

  // Do some stuff
 }

基本的に、objPerson のすべてのプロパティを newPerson に割り当てます。

選択的なプロパティを newPerson に割り当てる方法はありますか?

1 対 1 で行う代わりに、1 対 1 で行うように選択的に行うことはできますか

 newPerson.Address1 = objPerson.Address1;
 newPerson.Address2 = objPerson.Address2;

メソッドで。

必要なプロパティを定義できる外部構成を持つことができます。したがって、その構成に Address1 と Address2 しかない場合、newPerson はこれら 2 つだけを割り当てます。

これはできますか?

よろしく。

4

3 に答える 3

1

あなたが何を望んでいるかを正しく理解していれば、Object Initializersを使用できます。

var person = new Person{ ID = 123456, Name = "Foo"};

オブジェクトとコレクションの初期化子 (C# プログラミング ガイド)

于 2013-02-05T08:55:37.493 に答える
0

オブジェクト初期化子を使用:

var obj = new Person { ID = 1, Name = "Test" };
于 2013-02-05T08:56:21.650 に答える
0

を直接使用する代わりに、パブリック プロパティごとにプライベート フィールドを追加し、このフィールドをパブリック プロパティで使用しますget; set;

次に、条件をセッターに書き込み、条件が満たされた場合にのみ、プライベート関連のプライベート フィールドを変更します。

private int id;

public int ID {
get
{
    return id;
} 
set
{
    if(someCondition)
       id = value;
} 

}

于 2013-02-05T08:57:02.903 に答える