C# 为什么我能';不要在方法之外创建实例 使用系统; 命名空间文件应用程序 { 公共阶级地位 { 公共交通速度; } 公开课选手 { 私有状态ddd=新状态(); ddd.速度=3; 静态void Main() { 状态dd=新状态(); dd.速度=3; } } }
为什么我不能使用ddd.speed?为什么我不能将ddd.speed设置为3?请帮助我。您不能让语句(成员声明和初始化除外)直接在类下浮动-您需要将它们放在方法或构造函数中。因为这样的逻辑语句属于方法,而不属于类定义。类定义可以定义类成员(字段、属性、方法),但不能执行命令式逻辑 在C# 为什么我能';不要在方法之外创建实例 使用系统; 命名空间文件应用程序 { 公共阶级地位 { 公共交通速度; } 公开课选手 { 私有状态ddd=新状态(); ddd.速度=3; 静态void Main() { 状态dd=新状态(); dd.速度=3; } } },c#,syntax,instance,C#,Syntax,Instance,为什么我不能使用ddd.speed?为什么我不能将ddd.speed设置为3?请帮助我。您不能让语句(成员声明和初始化除外)直接在类下浮动-您需要将它们放在方法或构造函数中。因为这样的逻辑语句属于方法,而不属于类定义。类定义可以定义类成员(字段、属性、方法),但不能执行命令式逻辑 在Main方法中,您已经演示了如何执行此操作: status dd = new status(); dd.speed = 3; 现在,如果您特别想在Main方法中访问ddd,请注意Main是static,因此与Pl
Main
方法中,您已经演示了如何执行此操作:
status dd = new status();
dd.speed = 3;
现在,如果您特别想在
Main
方法中访问ddd
,请注意Main
是static
,因此与Player
的任何给定状态都没有关联。因此,您需要一个实例:
Player player = new Player();
Player player = new Player();
player.DDD.speed = 3;
由于ddd
是private
,您需要一些东西来允许您访问该字段。财产对这类事情很有用。例如,将其定义为:
private status ddd = new status();
public status DDD { get { return ddd; } }
您也可以将其缩短为:
public status DDD { get; private set; } = new status();
然后您可以在您的实例上访问它:
Player player = new Player();
Player player = new Player();
player.DDD.speed = 3;