是否可以从类名中获取自定义属性作为字符串?
像这样的东西(不起作用)
Type myType = Type.GetType("MyClass");
MemberInfo info = myType // typeof(myType);
object[] atts = info.GetCustomAttributes(true);
是否可以从类名中获取自定义属性作为字符串?
像这样的东西(不起作用)
Type myType = Type.GetType("MyClass");
MemberInfo info = myType // typeof(myType);
object[] atts = info.GetCustomAttributes(true);
您快到了。你错过了命名空间。
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);
使用上面的代码预加载程序集(如果它存在于您引用的程序集中)
看起来你快到了。
利用 object[] atts = Type.GetType("MyNamesapce.MyClass").GetCustomAttributes(true);
为我完美地工作
也许您错过了提及命名空间?
检查http://msdn.microsoft.com/en-us/library/system.attribute.getcustomattributes.aspx