c# – 无法修改返回值,因为它不是变量
发布时间:2020-12-15 18:34:26 所属栏目:百科 来源:网络整理
导读:我有一个名为BaseRobot的类: var robot2 = new BaseRobot(0,0); private Point mHome; public Point Home { get { return mHome; } } 这就是创建原始住宅的地方,我想在program.cs中创建一个新住宅.我有以下代码,但它不起作用,它提出错误说 Cannot modify th
我有一个名为BaseRobot的类:
var robot2 = new BaseRobot(0,0); private Point mHome; public Point Home { get { return mHome; } } 这就是创建原始住宅的地方,我想在program.cs中创建一个新住宅.我有以下代码,但它不起作用,它提出错误说
码: robot2.Home.X = 1 robot2.Home.Y = 5; { Console.WriteLine("===New robot at specified home position==="); StringBuilder ab = new StringBuilder(); ab.AppendFormat("Robot#2 has home at <{0},{0}>.rn ",robot2.Home.X,robot2.Home.Y); ab.AppendFormat("It is facing {0} ",robot2.Orientation); ab.AppendFormat("and is currently at <{0},{0}>.rn",robot2.Position.X,robot2.Position.Y); Console.WriteLine(ab.ToString()); } 如何为x和Y分配新值? 解决方法
您需要直接设置Home属性,通常最好创建一个新的Point对象…
robot2.Home = new System.Drawing.Point(1,5);//x,y 此外,为了允许您需要将一个set访问器应用于您的Home属性… public Point Home { get { return mHome; } set { mHome = value; } } 如果你想了解更多信息,为什么编译器不会让你直接赋予X属性值,那么检查一下answers over here (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |