【问题标题】:Calling DLL from another namespace从另一个命名空间调用 DLL
【发布时间】:2016-06-22 14:35:00
【问题描述】:

我喜欢将库 DLL 与我现有的 c# 主代码连接起来。

主要的样子:

using GanttC;
namespace WindowsApp
{
   public partial class Form4 : Form
   {
       var instance = new GanttC.Example();
       instance.Example();
                                              or simply 
       GanttC.Example();

    }
}

如何使用以下 DLL ..?

namespace GanttC
{
   public partial class Example : Form
   {
        ProjectManager _mProject;
        public Example()
        {
           InitializeComponent();
           _mProject = new ProjectManager();
           _mProject.Add(new Task() { Name = "New Task" });
           _mChart.Init(_mProject);
        }
    }
}

非常感谢。

【问题讨论】:

  • 你应该在主项目中添加对dll的引用。
  • darson,我已经添加了引用。我的理解是你需要声明一个包含函数 的类的实例,然后你使用函数如下
  • @joe 提示:如果您想在 cmets like this 中标记代码片段,请使用 `` 而不是
  • 你想调用什么函数?你在Example 类中只有一个构造函数...

标签: c# dll namespaces


【解决方案1】:

让我们澄清一下……

您的“示例”不包含任何其他方法,因此它不是一个很好的示例。让我们假设有另一种方法称为“测试”,就像这样

namespace GanttC
{
   public partial class Example : Form
   {
        ProjectManager _mProject;
        public Example()
        {
           InitializeComponent();
           _mProject = new ProjectManager();
           _mProject.Add(new Task() { Name = "New Task" });
           _mChart.Init(_mProject);
        }

        public int Test()
        {
            return 2 + 2;
        }
    }
}

您的想法是正确的:在引用库之后,您必须创建一个实例。在您的情况下,该类称为Example,因此要创建一个实例,您可以调用构造函数(也称为Example)。之后,您可以从新创建的对象访问实例方法。

using GanttC;
namespace WindowsApp
{
   public partial class Form4 : Form
   {
       var instance = new GanttC.Example();
       var result = instance.Test();
   }
}

【讨论】:

  • DrewJordan,现在清楚了。在这种情况下,我错过了构造函数和方法之间的区别。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-01
  • 2019-06-02
  • 2021-01-06
  • 1970-01-01
  • 2012-08-06
相关资源
最近更新 更多