Laden...

Das Ermitteln von Type-Objekten (Reflection)

Erstellt von Impeesa vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.105 Views
I
Impeesa Themenstarter:in
2 Beiträge seit 2007
vor 16 Jahren
Das Ermitteln von Type-Objekten (Reflection)

Hallo,

kann mir bitte jemand sagen warum die Zuweisung auf t3 nichtklappt? t3 ist bleibt nämlich null. Aber die static Methode GetType von Type sollte doch anhand des Namens als String das Type objekt liefern.



using System;
using System.Collections.Generic;
using System.Reflection;

namespace ReflectionTest1
{
    class Test
    {
        string name = "Sebastian";
    }

    class Program
    {
        static void Main(string[] args)
        {
            Test t = new Test();

            Type t1 = t.GetType();
            Console.WriteLine(t1);

            Type t2 = typeof(Test);
            Console.WriteLine(t2);

            Type t3 = Type.GetType("Test");
            Console.WriteLine(t1);

            Console.ReadKey();
        }
    }
}

Gruß
Sebastian

664 Beiträge seit 2005
vor 16 Jahren

Du musst den Namespace mit angeben.

Type t3 = Type.GetType("ReflectionTest1.Test");

Wenn sich der Typ in der aktuell ausgeführten Assembly oder in Mscorlib.dll befindet, ist eine Angabe des Typnamens einschließlich des qualifizierenden Namespace ausreichend.

2.187 Beiträge seit 2005
vor 16 Jahren

Über typeof(T).FullName kannst du dir immer den string anzeigen lassen mit dem Type.GetType funktionier.

184 Beiträge seit 2005
vor 16 Jahren

typeof(T).AssemblyQualifiedName ist meiner Meinung nach noch vorzuziehen, da er, wie der Name schon sagt, "qualifiziert" ist.

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo Seyyedi,

typeof(T).AssemblyQualifiedName ist meiner Meinung nach noch vorzuziehen

auch nach Meinung der Doku.

herbivore

I
Impeesa Themenstarter:in
2 Beiträge seit 2007
vor 16 Jahren

Ohhhh man,

danke euch allen! 🙂

Gruß
Sebastian