如何在一种方法中设置类属性,然后在另一种方法中调用它?

时间:2019-06-24 19:42:18

标签: c#

尝试创建一种用于存储数据的方法,并使用另一种方法来调用数据。

我的脑袋撞墙了,我现在只有1个错误。 main.cs(10,1):错误CS0120:访问非静态成员MainClass.Test()' main.cs(12,24): error CS0120: An object reference is required to access non-static member MainClass.Car.Name'需要对象引用 strong文本 使用系统;

using System;

class MainClass
{
    class Gear
    {
        public string Name
        {
            get;
            set;
        }
        public string Rod
        {
            get;
            set;
        }
        public string Reel
        {
            get;
            set;
        }
        public string Line
        {
            get;
            set;
        }
        public int CastDistance
        {
            get;
            set;
        }
    }

    private static Gear gearinstance;

    public static void Main(string[] args)
    {
        Test();
        Console.WriteLine(gearInstance.Name);
    }

    public static void Test()
    {
        Console.Write("Enter your Name: ");
        string name = Console.ReadLine();
        gearInstance = new Gear
         {
            Name = name;
        };

    }
}

之前有过解释,但希望它从多个方法中调用类

1 个答案:

答案 0 :(得分:0)

在方法内部声明的变量是该方法的局部变量。如果要在类的方法之间共享某事的实例,请将该对象作为类的成员(如下所示为私有字段,或作为属性):

class MainClass
{
    class Car
    {
        public string Name { get; set; }
    }

    // This static instance will be shared amongst the static methods
    private static Car carInstance;

    public static void Main(string[] args)
    {
        Test();
        Console.WriteLine(carInstance.Name);
    }

    public static void Test()
    {
        carInstance = new Car { Name = "Chevrolet Corvette" };
        Console.WriteLine("This is a test");
    }
}