我想获得一个组合框也像combobox1.Items.Add()// editor.Tags.Tags1()c#嵌套类和可见性?
像这样相同的功能:
class Main()
{
// The editor is passed into the editor class, that allows the editor class to update the editor.
MyEditorClass editor = new MyEditorClass(editorBox);
editor.Tags.InsertTag1();
// Now i don't want people to do this
// MyEditorClass.TagClass tags = new MyEditorClass.TagClass();
}
的原因是,标签类调用传递给MyEditorClass的editorBox,如果你创建一个没有该编辑器的标签类,它将不起作用。
我MyEditorClass看起来是这样的:
public class MyEditorClass
{
static RichTextBox editor;
public TagClass Tags;
public MyEditorClass(RichTextBox editorBox)
{
editor = editorBox;
Tags = new TagClass();
}
public class TagClass
{
public void InsertTag1()
{
editor.Text += "Test tag 1";
}
}
}
我试图让TagClass静态的,但没有奏效。组合框的结构如何?既然你不能使用Combobox.Items,但是如果你声明了一个,你可以在你声明的那个上使用Combobox.Items。
问题是,我没有想法如何建立我的班级以反映组合框架。 (tagsclass也必须有权访问编辑器)。我希望我的所有标签都位于名为tags的方法/属性中。这使它更易于使用。正常的MyEditorClass也包含保存,打开,新建等元素。所以如果有更好的方法来构建它,请告诉我=) – Patrick 2010-11-30 09:53:09
好吧,现在我明白你需要什么了。答案已更新。 – NOtherDev 2010-11-30 10:02:41