【发布时间】:2009-02-04 08:11:08
【问题描述】:
假设我有一个名为 AvatarSize 的公共属性,如下所示,
public class Foo
{
...
public Size AvatarSize
{
get { return myAvatarSize; }
set { myAvatarSize = value; }
}
...
}
现在如果一个目标类想要设置这个属性,那么他们需要按照以下方式进行,
myFoo.AvatarSize = new Size(20, 20); //this is one possible way
但如果我尝试这样设置,
myFoo.AvatarSize.Height = 20; //.NET style
myFoo.AvatarSize.Width = 20; //error
编译器给我一个错误,指出它不能修改返回值。我知道它为什么会发生,但我希望它也支持第二种方式。请帮我解决一下。
附:对不起,如果标题很荒谬
【问题讨论】:
-
您能否具体说明您希望它以这种方式工作的原因?除了Petoj所说的,恐怕没有太多选择。
-
请展示“尺寸”的样子。
-
Size 是 System.Drawing 命名空间中的标准 .Net 值类型。
标签: c# .net properties