docs/005_通用Dto间转换之Object.Mapper扩展.md
(开头部分) 20KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
# 通用Dto间转换之Object.Mapper扩展
> 所属包: DotNetCommon.Core
## 1. 简介
该功能是类比AutoMapper实现的不用类转换的功能。
它的特点如下:
- 基于编译表达式树实现;
- 能够转换没有任何关系的两个类,只要它们的属性名和属性类型相同即可(集合、数组可以);
- 转换中能够处理循环引用的情况;
- 性能和AutoMapper相近;
- 能自动处理不同数据类型之间的转换:string<=>datetime, string <=>enum string<=>guid
- 轻量,零配置;
- 忽略类之间的继承关系;
## 2. 不同类之间的简单转换
> 注意: Mapper方法是在Object上做的扩展,所以使用前先引入命名空间: DotNetCommon.Extensions
类模型:
```csharp
public class Cat
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public DateTime Birth { get; set; }
}
public class CatDto
{
public int Id { get; set; }
public string Name { get; set; }
public int Age
{
get
{
return DateTime.Now.Year - Birth.Year;
}
}
public DateTime Birth { get; set; }
}
```
转换示例:
```csharp
var cat = new Cat()
后面还有 763 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
