我有一个看起来像这样的程序集:
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.
当两者在同一个程序集中时,这可以正常工作。为什么不识别构造函数?
答案 0 :(得分:2)
因为MyFirstClass
应声明为public
。修改您的代码:
public class MyFirstClass
否则,默认为internal