C# GetCustomattributes из имени класса

Можно ли получить пользовательские атрибуты из имени класса в виде строки?

как то так (что не работает)

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

2 ответа

Решение

Ты почти там. Вы пропустили пространство имен.

 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

Другие вопросы по тегам