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);
有帮助吗?

解决方案

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)

其他提示

It looks like you're almost there.

Use object[] atts = Type.GetType("MyNamesapce.MyClass").GetCustomAttributes(true);

Worked flawlessly for me

Perhaps you missed mentioning the namespace?.

Check http://msdn.microsoft.com/en-us/library/system.attribute.getcustomattributes.aspx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top