我正在寻找一种方法来为任何对象创建通用包装。
包装对象的行为就像它所包装的类一样,但是可以有更多的属性,变量,方法等。对象计数,缓存等对象的C#包装
说包装类被称为包装,并且被包裹被称为广场类,并且具有构造广场(双edge_len)和属性/方法,其边缘和区,我想如下使用它:
Wrapper<Square> mySquare = new Wrapper<Square>(2.5); /* or */ new Square(2.5);
Console.Write("Edge {0} -> Area {1}", mySquare.EdgeLength, mySquare.Area);
很显然,我可以创建这样一个包装类为每个类我想换,但我正在寻找一个通用的解决方案,我。 e。Wrapper<T>
它可以处理原始类型和复合类型(尽管在我目前的情况下,我只会包装自己的类而感到高兴)。
对此提出建议?
谢谢。
你不能用C#做到这一点,最高3.0。但是,4.0版可能会让您通过新的动态类型系统执行此操作。 – 2010-05-28 09:27:41
请您详细说明一下吗?谢谢。 – Haggai 2010-05-28 11:52:00