我有兩個對象(域和數據)在這種情況下具有相同的屬性(讓我們假設名稱)。我有Action<DomItem>
,我想投到Action<DataItem>
。演員行動<T1>行動<T2>在c#中,其中T1和T2沒有關係
public class DomItem {
public string Name { get; set; }
}
public class DataItem {
public string Name { get; set; }
}
public class Program {
public Program() {
Action<DomItem> domAction = new Action<DomItem>(x=>x.Name = "Test");
// Something Casted To Action<DataItem>(x=>x.Name = "Test");
}
}
當然這只是一個基本的例子。這是設計,我不能使用通用接口。我不在乎DataItem
可能沒有相同的屬性。我一直在調查表達式和其他一些解決方案,但我不知道如何創建Cast(或從方法中獲取「x => x.Name = ...」部分)。
任何幫助將非常感謝!
爲什麼不只是使用AutoMapper? –
請解釋如何oleksii。 – MightyMouseTheSecond
基督徒,這只是一個例子。我希望DataItem在DomItem上定義的自身上運行該操作。 – MightyMouseTheSecond