本文介绍了调用非静态类,一个控制台应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想从另一个调用类中的方法与控制台应用程序。我试图调用类也不是一成不变的。
I'm trying to call a method from another class with a console application. The class I try to call isn't static.
class Program
{
static void Main(string[] args)
{
Program p = new Program();
var myString = p.NonStaticMethod();
}
public string NonStaticMethod()
{
return MyNewClass.MyStringMethod(); //Cannot call non static method
}
}
class MyNewClass
{
public string MyStringMethod()
{
return "method called";
}
}
我得到的错误:
I get the error:
在静态情况下不能访问非静态方法MyStringMethod。
如果我移动MyStringMethod到类节目这工作。
我怎么能在这样成功?
我不能让类的静态也没有方法。
This works if I move the MyStringMethod to the class program.How could I succeed in doing this?I cannot make the class static nor the method.
推荐答案
就像你创建程序类的一个实例致电NonStaticMethod,你必须创建MyNewClass的一个实例:
Just like you create an instance of the Program class to call the NonStaticMethod, you must create an instance of MyNewClass:
public string NonStaticMethod()
{
var instance = new MyNewClass();
return instance.MyStringMethod(); //Can call non static method
}
这篇关于调用非静态类,一个控制台应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!