說我有一個class
,看起來像這樣:映射項目從一類到另一個,如果項目是等價
public class Person
{
public string Name {get; set;}
public int Number {get; set;}
}
,另一個是這樣的:
public class Dog
{
public string Name {get; set;}
public int Number {get; set;}
}
他們是兩個不同的類,但他們碰巧有完全相同的元素(一個名爲Name
的字符串和一個名爲Number
的int)
C#中是否存在一種簡單的方法,比方說,如果我有一個Person
的實例,然後創建一個Dog
的實例與Name
和Number
相同?
例如,如果我有:
Person person = new Person();
person.Name = "George";
person.Number = 1;
我知道我不能簡單地去:
Dog dog = person;
因爲它們是兩種不同的類型。但是,有沒有在C#的方式來檢查「哦,如果他們有相同的元素,被設置的Dog
相同的元素等於該的Person
但我覺得必須有比做這樣的事情更簡單的方法:
dog.Name = person.Name;
dog.Number = person.Number;
特別是如果類元素但也有不少。如果你想知道,這兩個不同的類在兩個不同的片API,所以我不能簡單地讓他們無論是相關的。
你可以看一下[AutoMapper](http://automapper.org/) –
如果'Dog'和'Person'不是同一個基類的子類,那麼它不會遵循你可以簡單地克隆一個,並使其成爲另一個。但是,您可以通過枚舉兩個對象實例的屬性並根據需要調用'get'和'set'訪問器來實現此目的。 –