抱歉,我知道有很多关于此的信息,但找不到任何与从非静态方法调用到另一个项目中的另一个非静态方法有关的信息。这是我的问题:
我导入了一个现有项目并添加了参考。
我可以在导入的项目中调用静态方法。
但我无法调用非静态方法。
我是从非静态方法调用的。
我不想将导入项目中的方法更改为静态,因为我认为从该程序调用其他非静态方法时会遇到问题。
通常从另一个非静态方法调用非静态方法不是问题。我不明白为什么在导入的项目中调用非静态方法会导致问题。
有人可以建议我怎么做吗?我必须创建一个新对象吗?例如,我有一个尝试:
Form newForm= new MyImportedProject.MyNonStaticMethod();
但是newForm中没有方法可以调用。
答案 0 :(得分:1)
你需要创建包含你想要的方法的类的对象,然后你可以调用下面的公共方法
var obj = new MyImportedProject.MyImportedClass();
obj.MyPublicMethod1();
obj.MyPublicMethod2()
或
new MyImportedProject.MyImportedClass().MyPublicMethod();
答案 1 :(得分:1)
您需要先创建一个非静态类的实例。 根据您的示例,尝试:
var myImportedProject = new MyImportedProject();
Form newForm = myImportedProject.MyNonStaticMethod();
答案 2 :(得分:1)
您必须创建类Like
的实例MyImportedProject.ClassName nclass=new MyImportedProject.ClassName();
新的,您将有权访问此类的公共成员
MyClass.Method()