【问题标题】:How to call a non-static method in an imported project (from another non-static method) in Visual Studio如何在 Visual Studio 中调用导入项目(从另一个非静态方法)中的非静态方法
【发布时间】:2013-09-10 03:36:07
【问题描述】:

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

我导入了一个现有项目并添加了引用。

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

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

我从非静态方法调用。

我不想将导入项目中的方法更改为静态,因为这样我想我将无法从该程序中调用其他非静态方法。

通常从另一个非静态方法调用一个非静态方法是没有问题的。我不明白为什么在导入的项目中调用非静态方法会导致问题。

有人可以建议我怎么做吗?我必须创建一个新对象吗?例如,我试了一下:

 Form newForm= new MyImportedProject.MyNonStaticMethod();

但是 newForm 中没有可以调用的方法。

【问题讨论】:

    标签: c# visual-studio-2012 reference static-methods


    【解决方案1】:

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

    var myImportedProject = new MyImportedProject();
    Form newForm = myImportedProject.MyNonStaticMethod();
    

    【讨论】:

      【解决方案2】:

      你必须创建一个 Like 类的实例

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

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

      MyClass.Method()
      

      【讨论】:

        【解决方案3】:

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

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

        或者

        new MyImportedProject.MyImportedClass().MyPublicMethod();
        

        【讨论】:

        • 感谢您的回答。 @Damith,非常感谢 :) 祝你有美好的一天!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-02-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多