使用单独的程序集扩展c#代码

时间:2009-04-03 08:41:26

标签: c# .net delegates c#-2.0 partial-classes

我需要添加一些额外的功能,包括向对象添加新属性和在另一个处理此对象的类中扩展方法。我正在处理我们使用的产品的源代码(在C#2.0中)我真的不想修改它,我只想扩展它。

理想情况下,我希望有一个单独的程序集来执行此操作,以便明确它是我们的代码。似乎部分类和代表可能是要走的路,但我不确定这是否可行。有没有人做过类似的事情?或者知道任何好文章?

4 个答案:

答案 0 :(得分:3)

查看Decorator模式。这正是您正在寻找的。您可以继承现有类并使用您拥有的任何其他逻辑扩展它。如果你想隐藏一些基本功能,还有一个Proxy模式。

答案 1 :(得分:3)

就像hfcs101所说的那样。

在给定一些现有的OO设计模式的情况下,看看是否可以扩展该类。

看看:

看看您是否能找到与您的问题非常匹配的模式。装饰师看起来是最好的候选人。

答案 2 :(得分:0)

那么你必须修改原始类也是“部分”类,你必须确保第二个程序集中的命名空间与第一个程序集中的命名空间匹配,并且两个程序集都是项目中的引用使用程序集。从那里你可以自由地延伸到你的意愿。

答案 3 :(得分:0)

你可以继承课程还是密封?继承是扩展现有类的OO方式......