Also, ich hab schon gegoogelt und auch hier im Forum gesucht aber nichts gefunden, daher frage ich jetzt einfach mal. Sollte es dazu hier schon eine Antwort geben, bitte ich dies zu entschuldigen, da ich vermutlich nicht nach dem richtigen gesucht habe bzw. nicht richtig weiß wonach ich suche.
Also ich habe eine Klasse OdfDocument und diese möchte ich untergliedern. Dann hab ich z.B. eine Untergliederung in Attribute mit den Methoden IndexOf, SetAttribute, etc. Aber ich möchte von diesen Methoden aus noch auf die Methoden und Eigenschaften der übergeordneten Klasse zugreifen können...das funktioniert aber irgendwie nicht.
Vielen Dank bereits im Vorraus...
gdata
Hallo,
funktioniert nicht ist etwas mager, dass man damit was anfangen kann. Was möchtest du eigentlich? Könntest du ein Beispiel geben?
**:::
Hallo gdata,
Zum reinen Gliedern/Aufräumen deines Quellcodes gibt es in .NET (bzw. VS) folgende möglichkeiten:
Beide haben aber keine Auswirkung auf die Klasse/Assemblie oder so und verbessern auch nicht deine Software.
Gruß
Juy Juka
Das meinte ich nicht (trotzdem danke).
Was ich machen will ist eine Unterteilung wie z.b. bei ComboBox.Items, sodass ich alle auf die items bezogenen methoden da "reinstecke".
Die Items sind definiert über eine eigene Klasse, nämlich System.Windows.Forms.ComboBox.ObjectCollection. Aber ob dich das weiterbringt... Jürgen
hm...nicht wirklich. ich hab schon versucht ne klasse in der klasse zu erzeugen, aber irgendwie kann ich dann nicht mehr auf die properties der übergeordneten klasse zugreifen.
aber irgendwie kann ich dann nicht mehr auf die properties der übergeordneten klasse zugreifen.
Das brauchst du ja nicht. Oder: Das solltest du auch nicht.
Mit einer normalen Property
public List<object> Items
{
get;
set;
}
hast du alle benötigten Funktionen Insert, Remove, etc.
Mehr macht die ComboBox auch nicht.
mfg
SeeQuark
aber irgendwie kann ich dann nicht mehr auf die properties der übergeordneten klasse zugreifen.
ja, das nennt man objektorientierung. warum möchtest du denn unterteilen?
Weil das ganze etwas unübersichtlich ist....ich hab zum beispiel drei methoden die mit append anfangen:
AppendComment(), AppendLine() und AppendInclude(). Wenn ich das gnaze jetz in Comment, Line und Include aufteilen könnte, dann wäre es nunmal...übersichtlicher. Ich will meine Klasse ja nicht nur selber nutzen, sondern auch anderen zur verfügung stellen.
Vielleicht solltest du dann einfach mehere Klassen aus der einen Klasse erstellen und nicht alles in eine rein hauen ?
Dann hätte man keine Probleme mit den Methodennamen.
mafis90
Das würde ich auch machen, aber die müssen alle auf die gleichen Daten zugreifen. Das soll so ähnlich wie die XmlDocument Klasse werden (nur nicht für Xml und ohne nodes, etc.), aber die einzelnen methoden müssen auf ein string array zugreifen können, welches das Dokument beinhaltet.
Hallo gdata,
wenn ich dich richtig verstanden habe, willst du in einer Unterklasse auf eine Methode der Elternklasse zugreifen, richtig? Das würdest du auf die Weise erreichen:
base.MyMethodToCall();
(Was natürlich nur funktioniert, wenn MyMethodToCall()
nicht als private
markiert ist.)
Nebenbei solltest du für jede Aufgabe bzw. Verantwortlichkeit eine eigene Klasse verwenden (s. Kohäsion).
m0rius
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
ja, musste ich auch feststellen...trotzdem danke, ich lass es jetz einfach so.
Hallo gdata,
Wiso müssen alle Objekte auf das Array zugreifen?
Wiso kann die Dokument-Klasse nicht alle "Unter-Objekte" zusammen tragen sobald man sie braucht.
Gruß
Juy Juka