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# Aufbaukurs

Sie haben grundlegende .NET- und C#-Kenntnisse und und wollen diese nun erweitern. Der Aufbaukurs C# führt Sie ein die Arbeit mit Interfaces und Delegates, Generics und Parallel Computing.

Angular mit ASP.NET Core für .NET-Entwickler

.NET ist Ihnen vertraut, als Entwickler verfügen Sie über einschlägige Kenntnisse. In diesem Kurs lernen Sie nun, Angular in .NET-Umgebungen einzusetzen. Sie verstehen das Konzept von Angular und integrieren das clientseitige JS-Framework sicher in.NET-Anwendungen.

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!