C#中的扩展类可能不是通过仅添加函数而是通过属性来扩展。例如:我有一个我依赖的标准DLL库,供应商不想修改它。C#通过添加属性来扩展类
已经在整个代码中已经广泛地使用了DataCell类,并且现在才意识到我需要为它添加一个额外的属性,因为创建一个从此类继承的新扩展类只是看起来不会工作+很多重写。
DATACELL [元数据]
public class DataCell : Message
{
public int Field1;
public int Field2;
public DataCell()
{
..
}
..
}
基本上我想添加一个公众诠释标志;这个班。所以我现在可以不用重写任何东西,(新的DataCell).Flags = 0x10;
你不能有扩展属性,但你可以继承一个类,添加属性 – Sayse
什么你在这种情况下,“延长”意思?你有源代码吗?或者你想使用扩展属性(你不能)?或从DataCell继承好吗? – Tim
通过扩展我的意思是这个类在供应商.dll库中大量使用,我正在使用。创建像ExtDataCell:DataCell不是一个选项,因为我基本上需要重写.dll库。所以我想以某种方式能够做到这一点,所以来自供应商.dll的DataCell可以拥有它没有atm的Flags属性。 (没有修改供应商DLL) –