Hallo Leute,
habe folgende Frage, habe schon einige Erklärungen von Attributes gelesen auch die der MSDN, werde daraus aber nicht schlau, wozu und wann ich diese verwende bzw was genau der Sinn dieser Sache ist oder einfacher die Frage gestellet was sind Attributes überhaupt?
Hoffe es hat von euch jemand eine einfache klare antwort und eventuell vielleicht die antwort anhand eines Beispiels parat.
Danke schon mal im Vorraus.
Das kann man (IMHO) mal nicht eben so erklären. Attribute können ein recht komplexes Thema sein.
Vielleicht hilft dir das erstmal weiter:
OpenBook
Bei konkreten Fragen, kannst du dich ja nochmal melden 🙂
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
Hallo Maniac-cp,
nur zur Sicherheit: meinst du .NET-Attributes/-NET-Attribute oder Properties/Eigenschaften (die ja allgemein in der OOP-Attribute genannt werden)?
werde daraus aber nicht schlau
Dann ist die Wahrscheinlichkeit gering, dass eine weitere Erklärung zufällig dein Verständnis schafft. Stelle stattdessen besser konkrete Fragen. Wie hast du es verstanden? Was genau hast du nicht verstanden?
herbivore
ich meine natürlich .NET-Attributes. Naja was ich verstanden habe ist das es sich um Attributes um "Anmerkungen" handelt wie zum Beispiel für Klassen und das sie das Laufzeitverhalten ändern können und zur Laufzeit abgerufen werden können.
Mein Problem bezieht sich wohl hauptsächlich darauf, dass ich nicht verstehe wann man diese "Anmerkungen" verwendet und warum man diese "Anmerkungen" zur Laufzeit abfragen sollte?
Um mich kurz zu fassen ich verstehe einfach nicht den Sinn von Attributes. Ich programmiere inzwischen 3 Jahre .net und habe diese noch nie benötigt.
Hallo Maniac-cp,
ein Beispiel wozu man sie gebrauchen kann: [Artikel] Attribute zur Prüfung von Properties verwenden
herbivore
Vielen Dank für den Link.
Erschließe ich daraus richtig, das Attributes kein Muss sind aber ich dadruch meinen Code optimieren kann?
Hallo Maniac-cp,
es gibt natürlich bestimmte Stellen, an denen auch in den .NET-Framework-Klassen Attribute benutzt oder verlangt werden. Da kommt man dann auch nicht drum rum. Das PropertyGrid wird z.B. in starkem Maße durch Attribute in der Klasse der anzuzeigenden Objekte geteuert.
Aber eigene Attribute kann man tatsächlich in freier Entscheidung einsetzen oder eben auch nicht. Brauchen tut man sie nie.
herbivore
Naja, was ist denn ueberhaupt ein Muss? Bestimmte Sachen kann man ausschliesslich mit Attributen machen, manche Sachen gehen damit einfacher. Wo zum Beispiel exzessiv Attribute verwendet werden (muessen) ist Entwurfszeitunterstuetzung, schreibst ein Steuerelement und moechtest, dass es genauso angezeigt wird, wie die .NET-Steuerelemente, oder ein Objekt, was du im Property Grid anzeigfen willst. Solche Sachen gehen (beinahe ausschliesslich) ueber Attribute. An der Stelle ist auch die Eigenschaft von Attributen wichtig, dass sie erst zur Laufzeit geladen werden, denn nur so ist es moeglich, dass die Beschreibungen und Kategoriebezeichnungen der Steuerelemente lokalisiert und nicht in Englisch geladen werden koennen.
//edit: Mist, zu spaet...