mono C# REPL System.Windows.Forms
本文关键字:Windows Forms System REPL mono | 更新日期: 2023-09-27 18:01:49
当我尝试从mono c# REPL创建表单时我无法访问System.Windows.Forms类
我可以使用其他。net库从REPL没有问题。
任何想法吗?
你可以根据需要在REPL内部使用LoadAssembly和LoadPackage:
- LoadAssembly (string):加载给定的程序集,相当于将-r:NAME传递给编译器。
- LoadPackage(string):加载给定的包,相当于传递-pkg:NAME给编译器。
例子:
csharp> LoadAssembly("System.Windows.Forms")
csharp> using System.Windows.Forms
csharp> LoadAssembly("System.Drawing")
csharp> using System.Drawing
csharp> class MyApp : System.Windows.Forms.Form
{
public MyApp()
{
Label label;
ClientSize = new System.Drawing.Size(250, 250);
label = new Label();
label.Text = "A Mono CSharp REPL Window";
label.Dock = DockStyle.Fill;
label.TextAlign = ContentAlignment.MiddleCenter;
this.Controls.Add(label);
Text = "Hello, StackOverFlow";
}
public static void Main()
{
Application.Run(new MyApp());
}
}
MyApp.Main()
供参考:如果你正在尝试生成动态gui,我会看看gsharp(从mono-tools),因为它有一个GTK窗格,你可以添加/删除窗口小部件到该窗格。