由网友(兔尾映樱.)分享简介:我是C#新手,从Main()方法调用函数时遇到一些问题。class Program{static void Main(string[] args){test();}public void test(){MethodInfo mi = this.GetType().GetMethod("test2");mi.Invok...![浅析C C 函数栈帧](https://p.xsw88.cn/allimgs/daicuo/20230903/3330.png)
我是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 函数栈帧](https://p.xsw88.cn/allimgs/daicuo/20230903/3330.png)
非静态字段需要对象引用。
我还不太理解这些修饰语,那么我做错了什么?
我真正想做的是将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();
}
相关推荐
最新文章