来自类名的C#GetCustomattributes

时间:2013-09-12 12:59:25

标签: c# custom-attributes getcustomattributes

是否可以将类名中的自定义属性作为字符串获取?

类似这样的东西(不起作用)

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

2 个答案:

答案 0 :(得分:0)

看起来你几乎就在那里。

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

为我完美地工作

也许你错过了提到命名空间?。

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

答案 1 :(得分:0)

你快到了。你错过了命名空间。

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

在你的情况下

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

有关详细信息,请参阅Type.GetType

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

使用上面的代码预加载程序集(如果它存在于引用的程序集中)