有没有办法将一个自定义对象属性关联到另一个自定义对象属性,以便有一种简单的转换方法?
例如:
我有一个名为 degree 的对象,它有两列:TypeID、TypeName 我有另一个名为 typelist 的对象,它也有两列:_id、_typename
我希望能够执行以下操作:degree _dg = (degree)typelistitem
而不必明确说明 _dg.TypeID = typelistitem._id
最佳答案
C# 语言中没有内置任何内容。
当然,您可以编写一个辅助方法,为其提供从 X 类属性到 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.?;
),因此我真的不认为更通用的解决方案值得付出努力。
关于c# - 将自定义对象属性映射回原始对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30882839/