从main()调用函数函数、main

2023-09-03 11:47:45 作者:兔尾映樱.

我是C#新手,从Main()方法调用函数时遇到一些问题。

class Program
{
    static void Main(string[] args)
    {
        test();
    }

    public void test()
    {
        MethodInfo mi = this.GetType().GetMethod("test2");
        mi.Invoke(this, null);
    }

    public void test2()
    { 
        Console.WriteLine("Test2");
    }
}

我在test();中遇到编译器错误:

浅析C C 函数栈帧

非静态字段需要对象引用。

我还不太理解这些修饰语,那么我做错了什么?

我真正想做的是将test()代码放在Main()中,但当我这样做时,它会给我一个错误。

推荐答案

只需将所有逻辑放到另一个类

 class Class1
    {
        public void test()
        {
            MethodInfo mi = this.GetType().GetMethod("test2");
            mi.Invoke(this, null);
        }
        public void test2()
        {
            Console.Out.WriteLine("Test2");
        }
    }

  static void Main(string[] args)
        {
            var class1 = new Class1();
            class1.test();
        }