我了解从类似问题提供的answer可以正确编译。但是,我无法访问我想在运行时访问的所需对象。我从下面的代码中得到一个“未设置为实例对象的对象引用”:
namespace MyNamespace1 {
public static class Program {
public static User CurrentUser;
public static void Main(string[] args) {
CurrentUser = new User() { UserName = "someuser" };
Console.WriteLine(CurrentUser.UserName);
Console.ReadKey();
}
}
}
namespace MyNamespace2 {
public partial class ThisIsAForm : Form {
private void justAButton_Click(object s, EventArgs e) {
var uname = MyNamespace1.Program.CurrentUser.UserName;
MessageBox.Show(uname);
}
}
}
我启动控制台应用程序MyNamespace1,认为它将实例化“CurrentUser”,我相信它。
现在,我从MyNamespace2启动EXE文件。但是,在单击其中的justAButton对象时,我收到错误,告诉我我正在尝试访问的对象未实例化。
非常感谢您提前。对不起,如果我在这里遗漏了一些东西,这可能是我的愚蠢。
答案 0 :(得分:0)
.NET Framework Design Guidelines建议我们遵循此命名空间约定:
<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]
这有助于管理scope。
如果意图是从单独的exe进行通信,那么还存在进程间通信。