Je suis en train d'obtenir les mêmes fonctionnalités qu'un combobox a, comme combobox1.Items.Add() // editor.Tags.Tags1()C# classes d'imbrication et visibilité?
Comme ceci:
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();
}
La raison en est que la classe tags appelle la propriété editorBox passée dans MyEditorClass et si vous créez une classe de tags sans cet éditeur, cela ne fonctionnera pas.
Mon MyEditorClass ressemble à ceci:
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";
}
}
}
Je tentais de faire la TagClass statique mais cela ne fonctionne pas. Comment est structurée la combobox? Puisque vous ne pouvez pas utiliser Combobox.Items mais si vous en déclarez un, vous pouvez utiliser le Combobox.Items sur celui que vous avez déclaré.
problème est que je n'ai pas idée comment construire ma classe pour refléter une structure de liste déroulante. (Les tagsclass doivent également avoir accès à l'éditeur). Je veux que tous mes tags soient dans une méthode/propriété appelée tags. Cela le rend plus facile à utiliser. Le MyEditorClass normal contiendra aussi des éléments tels que Save, Open, new etc. Donc, s'il y a une meilleure façon de le construire, s'il vous plaît faites le moi savoir =) – Patrick
OK, maintenant je vois ce dont vous avez besoin. Réponse mise à jour – NOtherDev
Parfait, merci =). – Patrick