Nous avons un programme très simple qui invoque le Type.GetType
méthode statique. Les deux exemples devraient retourner une instance de type valide. Seul le second l'est réellement. Il semble que quelque chose de bizarre se passe avec la pile de crawl utilisée par GetType
mais quel est exactement le problème ici ? Est-ce un bug ou une fonctionnalité obscure ?
public class TestClass { }
class Program
{
static void Main(string[] args)
{
var fullName = typeof(TestClass).FullName;
Console.WriteLine("Full name: {0}", fullName);
new[] { fullName }.Select(Type.GetType).ToList().ForEach(t => Console.WriteLine("Method group: '{0}'", t));
new[] { fullName }.Select(t => Type.GetType(t)).ToList().ForEach(t => Console.WriteLine("Closure: '{0}'", t));
}
}
En cours d'exécution :
Full name: GetTypeBeingWeird.TestClass
Method group: ''
Closure: 'GetTypeBeingWeird.TestClass'