Feedback

C# - Überprüfen ob Objekt ein Interface implementiert

Veröffentlicht von am 04.04.2011
(1 Bewertungen)
Die folgende statische Methode überprüft, ob das übergebene Objekt das übergebene Interface implementiert.
GFU-Schulungen  [Anzeige]

Visual Studio Team Foundation Server 2017/2015 (TFS) für Administratoren - Kompakt

Nach dieser Schulung beherrschen Sie die Grundlagen des TFS. Sie erledigen administrative Aufgaben schnell und sicher.

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.

/// <summary>
/// Überprüft, ob ein Objekt ein bestimmtes Interface implementiert.
/// </summary>
public static bool IsInterfaceImplemented(object obj, Type interfaceType)
{
    if (obj != null)
    {
        return obj.GetType().FindInterfaces(new TypeFilter(
            delegate(Type type, object filter) { return (type.Name == ((Type)filter).Name)
                && (type.Namespace == ((Type)filter).Namespace); }), interfaceType).Length == 1;
    }

    return false;
}
Abgelegt unter interface, implementiert, implement.

2 Kommentare zum Snippet

Peter42 schrieb am 04.04.2011:
Also ich würde es so implementieren:
static bool IsInterfaceImplemented<I>(object obj) where I : class
{
return obj as I != null;
}
hackman schrieb am 04.04.2011:
ok die funktion von Peter42 wäre eine möglichkeit, allerdings ist in der ursprungsfunktion ja ein Type argument übergeben. aber hierzu, rate mal für was es die Type.IsInstanceOfType Type.IsAssignableFrom gibt?
 

Logge dich ein, um hier zu kommentieren!