2011-01-06 8 views
0

C#を使用すると、クラスAのプロパティをコピーする方法がありますか?(クラスAのプロパティを設定しなかった場合、プロパティをクラスAからクラスBにコピーする

例:

class A 
{public string Name {get;set;} 
public string Age {get;set;} 
} 

class B 
{public string Name {get;set;} 
public string Age {get;set;} 
} 


A a = new A(){name ="bob"} 

今私は私がBにBのその方法の名前が設定されますと年齢が同じままをコピーする必要がB b = new B(){Age = 30}; を持っています。おかげ

+0

値がnullのプロパティはコピーされないと言っていますか?整数プロパティの場合はどうなりますか?デフォルト値0とゼロに設定されたプロパティをどのように区別しますか? – Josh

+0

それは難しい部分ですが、私たちが何もしていないものをコピーすることができるのだろうかと思っていました。 – user282807

+0

タイプに互換性がない場合はどうなりますか?たとえば、AはプロパティBを持ちません。または、AはBの同じ名前のプロパティと互換性のないプロパティを持っています。 –

答えて

0

はさて、あなたは次のような何かができる:

if (b.Name == null) b.Name = a.Name; 
if (b.Age == null) b.Age = a.Age; 

しかし、これは値型(のようなInt32)のために動作しません。これらの場合、型の定義を制御する場合は、Nullable<T>を使用できます。

関連する問題