我试图访问另一个表单的字典,但我不能......
Form1.cs的
public partial class Form1 : Form
{
public DataNode rootNode;
public static Dictionary<string, string> documents = new Dictionary<string, string>();
public Form1() {
}
form2.cs
public partial class addCapitulo : Form
{
Form1 addcapitulo;
public addCapitulo(Form1 treeList)
{
InitializeComponent();
addcapitulo = treeList;
}
private void simpleButton1_Click(object sender, EventArgs e)
{
string pageGuid = Guid.NewGuid().ToString();
addcapitulo.rootNode.Nodes.Add(new DataNode("Testando", pageGuid));
addcapitulo.documents.Add(pageGuid, addcapitulo.blankRtfText);
}
}
错误:无法使用实例引用访问;用类型名称来限定它。
如何完成此访问?能够以任何形式访问和使用字典...
答案 0 :(得分:2)
要访问您需要的静态类型:
Form1.documents
您无法使用Form1
的实例进行访问,因为错误建议。
我宁愿建议制作字典Non-Static
:
public Dictionary<string, string> documents = new Dictionary<string, string>();
然后您当前的代码将按原样运行。我没有找到定义词典的基本原理static
答案 1 :(得分:0)
字典为static
,因此您只需使用类型名称:
Form1.documents.Add(pageGuid, addcapitulo.blankRtfText);