类成员访问的点表示法

时间:2016-02-22 15:58:05

标签: c# .net winforms

我有以下代码:

public class Random
{
    public string Name { get; set; }

    public bool IsRunning()
    {
        var running = true;

        return running;
    }
}

public class Main
{
    Random newObject = new Random();

    newObject.Name = "Johnny";

    var result = newObject.IsRunning();
}

它们都存在于同一名称空间中的同一.cs文件中。每当我创建一个新项目之前,我从来没有设置任何东西来使用点符号来访问成员属性或方法,但这就是说我不能使用newObject。任何事情,以及“var”对关键字无效。这是我通常使用的Windows窗体应用程序,但我在这里画空白为什么我不能做我通常在其他程序中多次使用的所有这些东西。我在这里缺少什么?

2 个答案:

答案 0 :(得分:9)

您尝试直接在类声明中编写代码。类声明只能直接包含成员声明。它不能包含newObject.Name = "Johnny"等任意语句,也不能使用var,这仅适用于本地变量。如果你把代码放在一个方法中,它应该是绝对正常的。例如:

public class Main
{
    public void DoSomething()
    {
        Random newObject = new Random();
        newObject.Name = "Johnny";
        var result = newObject.IsRunning();
    }
}

顺便说一句,我强烈建议不要命名自己的类Random,因为它也是System命名空间中类的名称。

答案 1 :(得分:5)

您不能在类成员定义中使用var或赋值给其他对象。

public class Main中的代码不在方法范围内。 我想你要做的是写一个控制台应用程序,需要一个

public static void Main()

方法

所以将你的班级改为例如。

class Program
{
    static void Main(string[] args)
    {
        Random newObject = new Random();

        newObject.Name = "Johnny";

        var result = newObject.IsRunning();
    }
}