c# - 将一个对象转换到另一个对象

标签 c# casting

我有两个用户定义的 CLR 对象,它们完全相同,只是名称不同,例如这段代码:

public class Person
{
  public string Name { get; set; }
  public string Address { get; set; }
  public string LastName { get; set; }
  public string ETC { get; set; }
}

public class PersonData
{
  public string Name { get; set; }
  public string Address { get; set; }
  public string LastName { get; set; }
  public string ETC { get; set; }
}

我知道这可以通过从这些 CLR 中的任何一个创建一个对象并将所有属性一个一个地传递给它来完成。

但是还有别的办法吗?我有一些相当大的 CLR,有 15 个以上的属性。

[编辑] 更多上下文。已经在那里的类(class)。我使用 EntityFramework 从数据库生成了一个模型。数据库具有与类几乎完全相同的结构。

此外,还有很多代码已经存在。这些类还继承自多个接口(interface)等。现在重构不是一种选择,所以我现在正在寻找一个简单的修复方法。

最佳答案

假设您不希望两个类都继承自一个接口(interface),您可以尝试 Automapper它是一个用于自动映射相似类的库。

关于c# - 将一个对象转换到另一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18667029/

相关文章:

Java 如何处理对象中的 Array<MyItem> 的 "Unchecked cast"

c# - 是否可以注入(inject)到asp.net web api模型类中

c# - 在 C# 上为属性设置默认值

c# - 简单的加载形式/线程

c# - 获取位图中两点之间的像素数

r - R 中 cat 函数中回车符内的换行符

c# - 如何在 Azure Function v2(核心)中静态使用 ConfigurationBuilder?

C++ 指针运算 : alignment exception (0x801)

c++ - 为什么虚拟继承会导致指针偏移?

c - 空指针、类型转换和可能的代码改进