【发布时间】:2015-02-11 11:02:50
【问题描述】:
假设我有一个对象用户并且我不能编辑它的类。如何向对象添加简单的属性,如用户名?
目前我的实现是一个使用用户构造的简单包装器。然后用户成为我的包装器对象的一个属性,并且包装器对象包含一个名为用户名的属性。但在我看来,这不是正确的方法。注意用户对象不是依赖对象,而且我知道扩展方法存在,但我不相信扩展方法存在,但我需要存储用户名,所以它不能是静态的。
非常欢迎任何建议。
【问题讨论】:
-
从用户继承并添加您的属性。当然,这假设 User 类没有密封。顺便说一句,为什么你认为包装不是正确的方法? IMO 包装是要走的路。
-
您可以将属性与对象分开(在某种字典中)。它们不会是属性(技术上)。
-
如果 User 是
partial类,那么您可以定义另一个partial User类来扩展它 -
谢谢,但它不是部分类,由于 C# 中缺乏双重继承,我也不能简单地从用户继承。