这似乎是一个非常简单的错误,但我无法解决它。 我在User.cs中创建了一个名为User的类,当我在另一个.cs文件中实例化它时,它会这样做,但我无法更改其属性或达到其属性。
User user = new User();
我创建了一个像这样的新实例,但后来我无法触及。例如:
user.name
User类的内容如下:
public class User
{
public static string name;
public static int age;
public static int height;
public static int weight;
}
原因是什么,我该如何解决? 感谢
答案 0 :(得分:2)
您已经创建了一个静态对象,不要实例化该类以使用它,只需执行
User.name
另外删除static关键字。
“静态”这个词意味着您不需要为类创建一个新的内容来访问某个类
public Class {
public static object myAttribute;
}
Class.myAttribute
但是如果你不使用静态关键词
public Class {
public object myAttribute;
}
Class myClass = new Class();
myClass.myAttribute;
当您的值不依赖于同一类中的任何其他变量时,您希望使用静态值。当它们依赖于同一类中的变量(或变量的操作)时,则使用非静态。
答案 1 :(得分:2)
从字段中删除关键字static
答案 2 :(得分:1)
name
是公共会员吗?将其设置为公共或创建公共属性以访问它...
public string Name { get { return name; } }
编辑:由于name
是静态成员,因此您无法撰写myUser.name
。它是User.name
。我认为你应该删除static
(并学习一些基础......)。
构建期间出现的错误消息是什么?应该很清楚。
答案 3 :(得分:0)
您必须在用户类中将name声明为public。例如:
public string name { get; set; }
答案 4 :(得分:0)
您无法从类的实例访问静态字段。您可以不将字段声明为static:
public class User
{
public string name;
public int age;
public int height;
public int weight;
...
或者您可以静态访问该类:
User.name