C#无法到达类元素

时间:2012-07-21 10:48:08

标签: c# class

这似乎是一个非常简单的错误,但我无法解决它。 我在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;
}

原因是什么,我该如何解决? 感谢

5 个答案:

答案 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