struct A
{
int _x;
public int X
{
get { return _x; }
set { _x = value; }
}
}
class B
{
A _a = new A();
public A A1
{
get { return _a; }
set { _a = value; }
}
{
int _x;
public int X
{
get { return _x; }
set { _x = value; }
}
}
class B
{
A _a = new A();
public A A1
{
get { return _a; }
set { _a = value; }
}
}
// 调用
B b = new B();
b.A1.X = 1;// 编译出错
//编译错误
无法修改“ConsoleApplication1.B.A1”的返回值,因为它不是变量
因为 A1 是值类型所以返回为A1的副本. 所以修改X的值也就没有意义.
参考:
http://blog.csdn.net/onlyou930/article/details/5568319