Search code examples
c#custom-attributesgetcustomattributes

C# GetCustomattributes from class name


Is it possible to get the custom attributes from the class name as a string?

something like this (which doesn't work)

Type myType = Type.GetType("MyClass");
MemberInfo info = myType // typeof(myType);
object[] atts = info.GetCustomAttributes(true);

Solution

  • You're almost there. You missed namespace.

     Type myType = Type.GetType("System.String");
     object[] atts = myType.GetCustomAttributes(true);
    

    In your case

    Type myType = Type.GetType("YourNameSpace.MyClass");//this should work
    

    Refer Type.GetType for more info

    var asnames = Assembly.GetExecutingAssembly().GetReferencedAssemblies();
    var asmname = asnames.FirstOrDefault(x => x.Name == assemName);
    Assembly.Load(asmname);
    

    Use the above code to preload the assembly(If it exists in your referenced assembly)