将自定义对象属性映射回原始对象

map custom object properties back to original object

有没有办法将一个自定义对象属性关联到另一个自定义对象属性,以便有一种简单的转换方法?

例如:

我有一个名为 degree 的对象,它有两列:TypeID、TypeName 我有另一个名为 typelist 的对象,它也有两列:_id, _typename

我希望能够执行以下操作:degree _dg = (degree)typelistitem 而无需明确说明 _dg.TypeID = typelistitem._id

C# 语言中没有内置任何内容。

当然,您可以编写一个辅助方法,为其提供从 class X 属性到 class Y 属性的映射,但有什么意义呢?比较:

// fake syntax, this is not really possible
y = makeCopy<Y>(x, {_id -> TypeId,
                    _typename -> TypeName});

y = new Y();
y._id = x.TypeId;
y._typename = x.TypeName;

前者真的更具可读性还是更简洁?无论如何,您需要写下 X 的哪个 属性 映射到 Y 的哪个 属性,而后一个示例仅向每行添加 8 个字符的开销(y.? = x.?;),所以我真的不要认为更通用的解决方案值得付出努力。