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

2021-08-21 12:19:07 字數 651 閱讀 3124

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

1.適用於建立實體的時候從乙個實體作為資料來源賦值

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

/// 適用於初始化新實體

///

/// 返回的實體

/// 資料來源實體

/// 資料來源實體

/// 返回的新實體}}

}catch (exception ex)

return d;

}

2.適用於沒有建立實體,兩個實體之間資料的轉換

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

/// 適用於沒有新建實體之間

///

/// 返回的實體

/// 資料來源實體

/// 返回的實體

/// 資料來源實體

/// }}

}catch (exception ex)

return d;

}

參照**:

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

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

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

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

用兩個棧實現佇列 C 實現

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。class solution int pop private stackstack1 stackstack2 在執行push時,令stack2為空,將待存元素壓入stack1的棧頂 在執行pop時,令stack1為空,...