我正在寻找一种为任何对象创建通用包装的方法。
wrapper对象的行为就像它包装的类一样,但是例如,它将具有更多的属性,变量,方法等。对象计数,缓存等

假设包装器类称为Wrapper,要包装的类称为Square,并具有构造函数Square(double edge_len)以及属性/方法EdgeLength和Area,我想按以下方式使用它:

Wrapper<Square> mySquare = new Wrapper<Square>(2.5);  /* or */ new Square(2.5);
Console.Write("Edge {0} -> Area {1}", mySquare.EdgeLength, mySquare.Area);

显然,我可以为要包装的每个类创建一个包装器类,但是我正在寻找一种通用的解决方案,即Wrapper<T>,它可以处理原始类型和复合类型(尽管在我目前的情况下,我很乐意包装我的 wrapper 自己的类(class))。

有什么建议吗?

谢谢。

最佳答案

CaSTLe项目中的DynamicProxy可能是您的解决方案。

关于c# - 对象的C#包装器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2927846/

10-12 12:49
查看更多