mardi 5 janvier 2016

C# reflection get all GenericParameterAttributes

I need to get all GenericParameterAttributes for generic parameter T in MClass

public class Archive<T>:IEnumerable<T> where T : class,IComparable, new()
    {
//some body here
 }

So i try it in this way:

Assembly asm = Assembly.LoadFrom("M.dll");
            Type some_type = asm.GetType("M.MClass`1");

            Type[] generic_args = { typeof(MyTestClass) };
            if (some_type.IsGenericType)
            {

                Console.WriteLine("Generic Type: {0}", some_type.ToString());
                Console.WriteLine("Where T : {0}", some_type.GetGenericArguments()[0].GenericParameterAttributes);
                some_type = some_type.MakeGenericType(generic_args);
            }

But in some reason propherty GenericParameterAttributes show that T must be class with default constructor but doest't show that T also must have IComparable





Aucun commentaire:

Enregistrer un commentaire