Joh*_*yen 3 c# mapping class anonymous-class
我有一个匿名类型变量.这个变量来自另一个函数,我们无法改变它.
// var a {property1 = "abc"; property2 = "def"}
Run Code Online (Sandbox Code Playgroud)
我有一节课:
class Myclass{
string property1;
string property2;
}
Run Code Online (Sandbox Code Playgroud)
如何将变量转换a为Myclass类型.我试过了
Myclass b = (Myclass)a;
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
如果我初始化:
Myclass b = new Myclass{
property1 = a.property1,
property2 = a.property2,
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,但需要很多代码,因为它MyClass有许多属性
谁能帮我?谢谢你的回答.
您不能在此处使用强制转换,因为您既没有继承匿名类型,MyClass也没有为这些类型定义显式类型转换运算符.
您可以使用AutoMapper(可从NuGet获得)在匿名类型和您的类之间动态映射
var a = new {property1 = "abc", property2 = "def"};
Myclass b = Mapper.DynamicMap<Myclass>(a);
Run Code Online (Sandbox Code Playgroud)
它按名称将匿名对象的属性映射到目标类型的属性:

| 归档时间: |
|
| 查看次数: |
993 次 |
| 最近记录: |