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
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.
Über typeof(T).FullName kannst du dir immer den string anzeigen lassen mit dem Type.GetType funktionier.
typeof(T).AssemblyQualifiedName ist meiner Meinung nach noch vorzuziehen, da er, wie der Name schon sagt, "qualifiziert" ist.
Hallo Seyyedi,
typeof(T).AssemblyQualifiedName ist meiner Meinung nach noch vorzuziehen
auch nach Meinung der Doku.
herbivore