我正在寻找一种为任何对象创建通用包装的方法。
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/