vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich selber fertig machen kann 
Autor: teccer
Datum: 29.09.04 09:06

Ich glaube dieser Thread ist nur was für Leute, die die OOP verehren, ja mit ihr ins Bett gehen würden. Spaß bei Seite. Bei meinem neuen Objektmodell soll es möglich sein, das ein User zur Laufzeit die Eigenschaften serviert bekommt, bzw. neue Eigenschaften erstellt. Ich habe an folgende Lösung gedacht, die mir aber selber noch nicht so richtig schmeckt. Erst mal im Groben zu meiner Lösung.

Man hat eine Klasse Hosen, (immer wieder gerne genommen) die eine Collection darstellt. Früher hätte man in so einem Fall noch ne Klasse Hose mit den Eigenschaften getippt. Meine Idee war es nun, eine Klasse zu erstellen, die alle anderen Objekte nutzen. Und zwar die Klasse "_Properties". Diese ist wiederum eine Collection. Dazu gibt es noch die passende Klasse "_Property", die die Eigenschaften beinhaltet, also den Namen der Eigenschaft, welcher Datentyp, ob es ReadOnly usw. ist.

Wird nun vom Bauplan Hosen ein Objekt erzeugt, erstellt die Klasse eine DB-Verbindung, zieht sich alle Felder usw. und erstellt ein Objekt der Klasse "_Properties". Nun hat der User also ein Objekt Hosen und auch Eigenschaften, die aber eine andere Klasse zur Laufzeit erstellt hat. Nun könnte die Klasse Hosen natürlich auch eine Item-Eigenschaft besitzen, die Ihrerseits mit public Get..() as _properties auf die Eigenschaften verweisst. Erster Knackpunkt ist natürlich hier, dem User nun die Eigenschaften zu servieren, wenn er .item(1). usw. tippt. Das habe ich noch nicht ausprobiert, weil ich gerade im Büro sitze und da kommen mir solche Ideen.

Nächste Möglichkeit wäre nun noch, dass die Klasse Hose eine Methode bereitstellt, die eine neue Eigenschaft hinzufügen kann. Diese Methode würde nun die Eigenschaft in der Klasse _Properties mit Add hinzufügen und in der DB ein neues Feld kreieren, so dass mit der nächsten Objekterstellung von Hosen die neue Eigenschaft wieder vorhanden ist.

Aber, zweites Problem, was ist mit der Add-Methode in Hosen. Ganz doof gesagt, kann das Teil eigentlich nur noch einen Wert in der Parameterliste einthalten. Und zwar müsste der User in einem schema wie diesem die eigenschaften und den Wert so übergeben

object.Add("Laenge=192,Farbe=Blau")

Die Add-Methode würde nun mit zwei splits die Sache auftrennen, einmal in
Laenge=192
Farbe=Blau

Das Zweite Split würde nun das "=" als Splitter nehmen und wir hätten
Laenge=192
Farbe=Blau
und
Laenge
192
Farbe
Blau

Mit ner Schleife müsste man nun das erste Split (Array) durchlaufen und den Namen der Eigenschaft mit dem Namen der Eigenschaften aus _Proerties prüfen. Findet die Schleife was, wird die zweite Split genommen, wo der Wert steht usw. usw. Das stellt ja so alles kein Problem dar. Es sieht halt nur unschön aus, vor allem dann wenn der User nur einen Wert in einer Eigenschaft än dern will, wo wir wieder beim Pronlem von "Item" wären.

Ansonsten gefällt mir das aber schon ganz gut.
Was habt ihr noch für Ideen und Lösungen zu dem Thema. Die schickste Variante wäre ja, doch mit einer Klasse Hose zu arbeiten und dort zur Laufzeit die Property get und Sets erstellen zu können. Aber ich man mir nicht vorstellen, dass das gehen soll *lach*
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich selbe...1.457teccer29.09.04 09:06
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...779ModeratorFZelle29.09.04 09:40
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...867teccer29.09.04 10:11
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...835ModeratorFZelle29.09.04 20:05
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...785lkatsch29.09.04 20:23
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...803ModeratorFZelle29.09.04 20:38
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...845teccer29.09.04 21:55
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...817ModeratorFZelle30.09.04 09:15
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...780lkatsch29.09.04 10:02
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...781teccer29.09.04 10:12
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...810lkatsch29.09.04 10:29
Sehr geil - Respekt - ohne Text ;)812teccer29.09.04 10:16
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...895lkatsch29.09.04 10:06
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...889lkatsch29.09.04 10:06
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...1.150lkatsch29.09.04 10:08
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...950lkatsch29.09.04 10:10
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...843lkatsch29.09.04 10:11
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...753lkatsch29.09.04 10:32
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...790UR29.09.04 13:01
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...911lkatsch29.09.04 13:09
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...754lkatsch29.09.04 10:37
Kompliment siehe Text874teccer29.09.04 10:48
Re: OOP Deluxe - Eigenschaften zur Laufzeit - Wie man sich s...788lkatsch29.09.04 11:17
OK, geht klar ;)816teccer29.09.04 11:52

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel