Feedback

C# - Generische Extension zum Auslesen eines Klassen-Attributes

Veröffentlicht von am 30.03.2009
(2 Bewertungen)
Erlaubt das Auslesen eines zugewiesenen Attributes einer Klasse. Die Extension erweitert den Typ object und ist somit für jeden Typ verfügbar. Als Parameter wird lediglich der Typ des Attributes angegeben, welcher dann generisch auch wiederum als Rückgabewert verwendet wird.
GFU-Schulungen  [Anzeige]

C# Grundlagen

Die Schulung vermittelt Ihnen die Grundlagen von C# in der Arbeit mit Datentypen sowie bei Klassenbibliotheken. Sie lernen, mit Variablen umzugehen und deren verschiedene Formen zu konvertieren. 

XML und .NET Überblick

Um auf dem neuesten Wissensstand zu sein, sollten Sie unser aktuelles ASP .NET Komplett Seminar belegen.
Nach dem Seminar kennen Sie die wichtigsten Strömungen in der Software-Technologie

public static class ReflectionExtensions
    {
        public static T GetCustomAttribute<T>(this object objectItem) where T : Attribute
        {
            return GetCustomAttribute<T>(objectItem, false);
        }

        public static T GetCustomAttribute<T>(this object objectItem, bool inherit) where T : Attribute
        {
            T attribute = null;
            object[] attributes = objectItem.GetType().GetCustomAttributes(typeof(T), inherit);

            if (attributes.Length == 1)
            {
                attribute = (T)attributes[0];
            }

            return attribute;
        }
    }

1 Kommentare zum Snippet

Jorgen Schumann schrieb am 16.04.2009:
Extensions sind einfach genial. Super Snippet.
 

Logge dich ein, um hier zu kommentieren!