0

抱歉,我知道这方面有很多信息,但找不到任何与从非静态方法调用另一个项目中的另一个非静态方法有关的信息。这是我的问题:

我导入了一个现有项目并添加了参考。

我可以在导入的项目中调用静态方法。

但我不能调用非静态方法。

我从非静态方法调用。

I don't want to change the method in the imported project to static because then I think I will have trouble calling other non-static methods from that program.

Usually calling a non-static method from another non-static method is not a problem. I don't understand why calling a non-static method in an imported project will cause a problem.

Can someone suggest how I can do it? Do I have to create a new object? For example I had a go and tried:

 Form newForm= new MyImportedProject.MyNonStaticMethod();

But there were not methods in newForm to call.

4

3 回答 3

1

您必须创建类的实例 Like

MyImportedProject.ClassName nclass=new MyImportedProject.ClassName();

新的您将可以访问此类的公共成员

MyClass.Method()
于 2013-09-10T03:44:57.433 回答
1

你需要创建包含你想要的方法的类的对象,然后你可以调用如下的公共方法

var obj =  new MyImportedProject.MyImportedClass();
obj.MyPublicMethod1();
obj.MyPublicMethod2()

或者

new MyImportedProject.MyImportedClass().MyPublicMethod();
于 2013-09-10T03:43:36.540 回答
1

您需要首先创建一个非静态类的实例。根据您的示例,尝试:

var myImportedProject = new MyImportedProject();
Form newForm = myImportedProject.MyNonStaticMethod();
于 2013-09-10T03:43:49.697 回答