Project无法识别包含在不同程序集中的构造函数

时间:2014-11-19 16:36:12

标签: c# constructor namespaces

我有一个看起来像这样的程序集:

namespace AssemblyOne
{
   class MyFirstClass
   {
      public MyFirstClass(String param)
      {
         // Assign stuff
      }
   }
}

在另一个程序集中,我正在尝试创建此类的实例。所以,很自然地,我试过这个:

namespace AssemblyTwo
{
   public partial class SomeForm : Form
   {
      private MyFirstClass mfcObject = new MyFirstClass("Some String"); // Error here.
   }
}

我添加了另一个项目作为参考,并插入了必要的using语句。但是,我创建此对象的上面的行给出了编译器错误:

'AssemblyOne.MyFirstClass' does not contain a constructor that takes 1 arguments.

当两者在同一个程序集中时,这可以正常工作。为什么不识别构造函数?

1 个答案:

答案 0 :(得分:2)

因为MyFirstClass应声明为public。修改您的代码:

public class MyFirstClass

否则,默认为internal