C 通過反射實現兩個物件相同屬性值的複製

2022-07-31 00:03:11 字數 1476 閱讀 3569

類a

1

///2

///類a

3///

4public

class

typea57

public

string name

8 }

類b

1

///2

///類b

3///

4public

class

typeb57

public

string name

8public

string age

9 }

1

using

system;

2using

system.collections.generic;

3using

system.linq;

4using

system.security.permissions;

5using

system.data;

6using

mysql.data;

7using

system.configuration;

8using

system.io;

9using

system.text;

10using

system.reflection;

11using

mysql.data.mysqlclient;

12using

system.runtime.serialization;

13using

system.runtime.serialization.formatters.binary;

1415

16namespace

1741}42

}43catch

(exception ex)

4447

return

t;48}49

50///

51///

將tsource類中的屬性用深拷貝到t中

52///

53///

拷貝目標實體類

54///

源實體類

55///

56///

57public

static t deepcopy(tsource source)

586364}

65 }

將類typeb與類typea相同的屬性進行複製,可以用下面的shallcopy方法進行實現,呼叫方式如下

1 typeb b = new

typeb();

2 b.id = 1

;3 b.name = "

這是a"

;4 b.age = 18

;5 typea a = shallcopy(b);

C 利用反射實現兩個類的物件之間相同屬性的值的複製

今天在拷貝物件的時候,看著 實在是有點煩,一堆一樣的 還是找找有沒有直接反射拷貝不同物件相同屬性的值 其中主要的就是下面這段 了 1 2 傳入型別b的物件b,將b與a相同名稱的值進行賦值給建立的a中 3 4 型別a5 型別b 6 型別為b的引數b 7 拷貝b中相同屬性的值的a 8public923 ...

C 用反射實現兩個類的物件之間相同屬性的值的複製

在進行實體轉換操作的時候如果需要在對兩個實體之間兩個屬性字段差不多相同的類要進行乙個互相的轉換,我們要把a物件的所有欄位的值都複製給b物件,我們只能用b.屬性 a.屬性來寫,如果屬性欄位太多的話,就要寫很多行複製語句,麻煩還容易漏掉一些,這個時候可以利用c 的反射來實現複製。我們可以寫這樣乙個利用泛...

C 用反射實現兩個類的物件之間相同屬性的值的複製

在進行實體轉換操作的時候如果需要在對兩個實體之間兩個屬性字段差不多相同的類要進行乙個互相的轉換,我們要把a物件的所有欄位的值都複製給b物件,我們只能用b.屬性 a.屬性來寫,如果屬性欄位太多的話,就要寫很多行複製語句,麻煩還容易漏掉一些,這個時候可以利用c 的反射來實現複製。我們可以寫這樣乙個利用泛...