我在Ubuntu上编写C#代码,并在需要使用Windows.Forms时使用CSC编译器进行编译
我没有使用Visual Studio IDE,仅在普通编辑器中编写代码。
扩展Form的类中的基本ShowDialog()函数运行良好。
但是,当我尝试使用Controls.Add()向其中添加元素时,编译器显示以下错误:SpanHelpers.Add<T>(IntPtr, int)' is inaccessible due to its protection level
如何访问此特定功能?
我在做什么错了?
我的代码:
using System;
using System.IO;
using System.Drawing;
using System.Windows.Forms;
namespace helloWorld
{
class first
{
public static void Main(string[] args)
{
FormsSample forms = new FormsSample();
}
}
public partial class FormsSample : Form
{
private FolderBrowserDialog fbd;
private void InitializeComponents()
{
this.Controls.Add<FolderBrowserDialog>(fbd);
}
public FormsSample()
{
fbd = new FolderBrowserDialog();
InitializeComponents();
this.Name = "Folder Browser";
this.AutoScaleDimensions = new SizeF(6F, 13F);
this.ClientSize = new Size(1000, 500);
this.CenterToScreen();
ShowDialog();
}
}
}
答案 0 :(得分:0)
Control.ControllCollection
没有定义通用的Add<T>
方法。看来您正在以某种方式尝试引用非公共扩展方法。
您应该更改代码以仅使用Add
:
this.Controls.Add(fbd);