c# - 使用 terminal.gui 时 C# 找不到对象引用
问题描述
我一直在玩一些服务器/客户端的东西,虽然我尝试使用 terminal.gui,但由于某种原因,我不明白它的作用。我有 2 个脚本;一个处理后端的东西,一个处理用户界面/交互。
脚本1:
using UI;
namespace ServerTest
{
public class Server
{
static void Main()
{
UI.UI.main();
StartServ();
RecieveConn.Start();
MngSockets.Start();
}
}
}
脚本 2:
using ServerTest;
using Terminal.Gui;
namespace UI
{
public class UI
{
static Window win = new Window(new Rect(0, 0, Application.Top.Frame.Width, Application.Top.Frame.Height), "MyApp");
public static void main()
{
Application.Init();
win.Add(new Label(0, 0, "asd"));
Application.Run(win);
}
}
}
这给了我错误:
System.TypeInitializationException
HResult=0x80131534
Message=The type initializer for 'UI.UI' threw an exception.
Source=Server
StackTrace:
at UI.UI.main() in C:\Users\ThisPc\Desktop\ConsoleApp2\ConsoleApp2\ui.cs:line 29
at ServerTest.Server.Main() in C:\Users\ThisPc\Desktop\ConsoleApp2\ConsoleApp2\Program.cs:line 23
Inner Exception 1:
NullReferenceException: Object reference not set to an instance of an object.
不过,如果我这样做,它会起作用:
using ServerTest;
using Terminal.Gui;
namespace UI
{
public class UI
{
public static void main()
{
Window win = new Window(new Rect(0, 0, Application.Top.Frame.Width, Application.Top.Frame.Height), "MyApp");
Application.Init();
win.Add(new Label(0, 0, "asd"));
Application.Run(win);
}
}
}
但后来我不能win
在其他函数中使用该变量......提前感谢=)
解决方案
谢谢mjwills的答案...
做就是了
using ServerTest;
using Terminal.Gui;
namespace UI
{
public class UI
{
static Window win = null;
public static void main()
{
win = new Window(new Rect(0, 0, Application.Top.Frame.Width, Application.Top.Frame.Height), "MyApp");
Application.Init();
win.Add(new Label(0, 0, "asd"));
Application.Run(win);
}
}
}
推荐阅读
- sql - 获取 PostgreSQL 数据库中最近更新的列列表
- mysql - 选择关系中只有一个值的所有内容
- c++ - 如果我将 ++ 操作数与指针一起使用,我的值会出错
- python - 来自 api 响应的 Json 数组
- python-2.7 - `nix-build` 失败是因为 Python 想要一些不可用的东西,但没有说它想要什么
- javascript - 从特定位置读取excel文件
- postgresql - 如何在 Windows10 上的 postgresql 12 中安装 plv8?
- java - 如何连接同一个表中的两列
- amazon-web-services - 轮询 AWS 参数存储
- python - 根据月、年将 nx 1 数据帧转换为 axb 大小的网格