Tipp-Upload: VB.NET 0151: Memberattribute setzen - Variablenkommentare
von Dario
Hinweis zum Tippvorschlag
Dieser Vorschlag wurde noch nicht auf Sinn und Inhalt überprüft und die Zip-Datei wurde noch nicht auf schädlichen Inhalt hin untersucht.
Bitte haben Sie ein wenig Geduld, bis die Freigabe erfolgt.
Über den Tipp
Dieser Tippvorschlag ist noch unbewertet.
Der Vorschlag ist in den folgenden Kategorien zu finden:
- Sonstiges
Dem Tippvorschlag wurden folgende Schlüsselwörter zugeordnet:
Attribute, System.Attribute, <, >, VarInfo, Kommentar, Comment
Der Vorschlag wurde erstellt am: 28.11.2007 14:22.
Die letzte Aktualisierung erfolgte am 28.11.2007 14:22.
Beschreibung
Mit Attributen kann man sehr einfach einer Variablen eine Beschreibung bzw. einen Kommentar anfügen und diese wieder abrufen. Und das alles ohne XML.
Schwierigkeitsgrad |
Verwendete API-Aufrufe: |
Download: |
' Dieser Source stammt von http://www.activevb.de ' und kann frei verwendet werden. Für eventuelle Schäden ' wird nicht gehaftet. ' Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. ' Ansonsten viel Spaß und Erfolg mit diesem Source! ' ' Beachten Sie, das vom Designer generierter Code hier ausgeblendet wird. ' In den Zip-Dateien ist er jedoch zu finden. ' ------------ Anfang Projektgruppe VarInfo1.sln ------------ ' ----------- Anfang Projektdatei VarInfo1.vbproj ----------- ' ----------------- Anfang Datei Module1.vb ----------------- Imports System Imports System.Reflection <AttributeUsage(AttributeTargets.Field)> Public Class VarInfo Inherits Attribute Protected mDescription As String Public Sub New(ByVal Description As String) mDescription = Description End Sub Public Property Description() As String Get Return mDescription End Get Set(ByVal Value As String) mDescription = Value End Set End Property End Class Class Raumschiff <VarInfo("Die maximale Geschwindigkeit des Raumschiffes")> Public MaxSpeed As Single <VarInfo("Das Team des Raumschiffes")> Public Team As String <VarInfo("Die Zahl der Waffen")> Public NumWeapons As UShort End Class Class Tier <VarInfo("Ist das Tier ein Haustier?")> Public IsPet As Boolean <VarInfo("Wie heißt das Tier?")> Public Name As String End Class Public Module Module1 Sub Main() GetTypeInfo(GetType(Raumschiff)) GetTypeInfo(Of Tier)() Console.ReadKey() End Sub Public Sub GetTypeInfo(ByVal Type As System.Type) Console.WriteLine("Der Typ '{0}' enthält folgende kommentiere Variablen:", Type.Name) Console.WriteLine() For Each fInfo As FieldInfo In Type.GetFields For Each CurAttr As Attribute In Attribute.GetCustomAttributes(fInfo) If TypeOf CurAttr Is VarInfo Then Console.WriteLine("{0} ( {1} ) : {2}", _ fInfo.Name, fInfo.FieldType.ToString, CType(CurAttr, _ VarInfo).Description) Next Next Console.WriteLine() Console.WriteLine() End Sub Public Sub GetTypeInfo(Of T)() GetTypeInfo(GetType(T)) End Sub End Module ' ------------------ Ende Datei Module1.vb ------------------ ' ------------ Ende Projektdatei VarInfo1.vbproj ------------ ' ------------- Ende Projektgruppe VarInfo1.sln -------------
Diskussion
Diese Funktion ermöglicht es, Fragen, die die Veröffentlichung des Tipps betreffen, zu klären, oder Anregungen und Verbesserungsvorschläge einzubringen. Nach der Veröffentlichung des Tipps werden diese Beiträge nicht weiter verlinkt. Allgemeine Fragen zum Inhalt sollten daher hier nicht geklärt werden.
Folgende Diskussionen existieren bereits
Um eine Diskussion eröffnen zu können, müssen sie angemeldet sein.