有没有办法将一个自定义对象属性与另一个自定义对象属性相关联,以便有一种简单的方法?
例如:
我有一个名为degree的对象,它有两列:TypeID,TypeName 我有另一个名为typelist的对象,它也有两列:_id,_typename
我希望能够执行以下操作:degree _dg = (degree)typelistitem
,而无需明确说出_dg.TypeID = typelistitem._id
答案 0 :(得分:0)
C#语言中没有任何内置功能。
当然,您可以编写一个辅助方法,为它提供从X类属性到类Y属性的映射,但有什么意义呢?比较:
$("#search-box").attr("placeholder", "\uD83D\uDD0E search our catalog");
与
// fake syntax, this is not really possible
y = makeCopy<Y>(x, {_id -> TypeId,
_typename -> TypeName});
前者是否更具可读性或更简洁?你需要记下X的哪个属性被映射到Y的哪个属性,而后一个例子只为每一行(y = new Y();
y._id = x.TypeId;
y._typename = x.TypeName;
)添加了8个开销字符,所以我真的不认为更通用解决方案是值得的。