Feedback

C# - Prüfen, ob Teil des .NET Frameworks

Veröffentlicht von am 21.10.2009
(2 Bewertungen)
Prüft, ob ein Typ ein Teil des .NET Frameworks ist oder nicht.
GFU-Schulungen  [Anzeige]

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

C# 2017/2015/2013 Grundlagen

Nach Abschluss des Kurses sind Ihnen die Datentypen und Klassenbibliotheken von C# bekannt. Außerdem sind Sie in der Lage, mit Variablen umzugehen und deren Typen zu konvertieren. Sie definieren Namespaces und setzen diese ein, Sie erstellen eigene Klassen  und bauen Trouble Shooting ein.

using System;
using System.Collections.Generic;

public static class DotNetTools
{
    /// <summary>
    /// Checks if a type is part of the Microsoft .NET framework
    /// </summary>
    /// <param name="type">Type</param>
    /// <returns>Is part of the .NET framework (true) or not (false)</returns>
    public static bool IsDotNetType(Type type)
    {
        if (null == type)
        {
            throw new ArgumentNullException("type");
        }

        // prepare list of known .NET-Assemblies
        List<Assembly> asms = new List<Assembly>();
        // System
        asms.Add(Assembly.GetAssembly(typeof(object)));
        // System.Data
        asms.Add(Assembly.GetAssembly(typeof(System.Data.IDbConnection)));
        // System.Drawing
        asms.Add(Assembly.GetAssembly(typeof(System.Drawing.Size)));
        // System.Text.RegularExpressions                
        asms.Add(Assembly.GetAssembly(typeof(System.Text.RegularExpressions.Regex)));
        // System.Web
        asms.Add(Assembly.GetAssembly(typeof(System.Web.HttpUtility)));
        // System.Windows.Forms
        asms.Add(Assembly.GetAssembly(typeof(System.Windows.Forms.Control)));
        // System.Xml
        asms.Add(Assembly.GetAssembly(typeof(System.Xml.XmlNode)));
        // System.Xml.Linq (.NET 3.0)
        asms.Add(Assembly.GetAssembly(typeof(System.Xml.Linq.XObject)));

        bool isDotNet = false;

        // search list
        foreach (Assembly asm in asms)
        {
            if (asm.GetType(type.FullName, false, false) is Type)
            {
                // Names are OK => check if same assemblies
                isDotNet = asm.Equals(type.Assembly);

                if (isDotNet)
                {
                    break;
                }
                // Assemblies are not the same
            }
        }

        return isDotNet;
    }
}
Abgelegt unter .net, type, check, isdotnet, dotnet.

1 Kommentare zum Snippet

Marcel Kloubert schrieb am 30.10.2009:
System.Text.RegularExpressions.Regex scheint im eigenen Assembly zu sein, daher Verweis hinzugefügt
 

Logge dich ein, um hier zu kommentieren!