【发布时间】:2012-01-04 22:33:41
【问题描述】:
我想使用 c#Point 类型作为引用类型(它是一个结构)。我想有一个类CPoint,其中将包含一个Point 成员。有没有办法让Point 的成员成为Cpoint 的成员。我试图避免
cpoint.point.X;
cpoint.point.Y;
我想做
cpoint.X;
cpoint.Y;
以及保留所有转换、运算符、Empty 等。
这很容易做到吗?
【问题讨论】:
-
你为什么想要/需要这样的包装器?
-
@Xint0 就像我说的,将其用作引用类型。
-
@barunch:在此之前,请考虑有一个原因为什么将这种简单类型定义为
structs。其中之一是,struct的分配速度非常快,Pointstruct 用于绘图方法,其中分配和释放的速度至关重要。 -
@Tigran 这是真的。但是,我没有用它来绘图。我将它(和 Size)用作我的类的属性,而不是用于绘图。我希望能够做
MyClass.Pos.X=10和类似的事情。 -
@barunch:因此,如果您只需要
placeholder,请创建一个简单的类而不是包装器。如果您需要,甚至可以为轻松转换to/fromPoint struct 定义隐式转换运算符。