1

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

像这样的东西(不起作用)

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

2 回答 2

1

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

 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);

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

于 2013-09-12T13:04:49.997 回答
0

看起来你快到了。

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

为我完美地工作

也许您错过了提及命名空间?

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

于 2013-09-12T13:01:35.140 回答