Возможно ли увидеть определенный атрибут, применяемый к свойству overriden в производном классе, используя базовый класс? Предположим, у меня есть класс Person и класс PersonForm, который наследуется от Person. Также PersonForm имеет атрибут (скажем MyAttribute), который используется на одном из его свойств, который был переопределен от основания, Person, класс:Отражать атрибуты из производного класса с использованием базового класса
public class Person
{
public virtual string Name { get; set; }
}
public class PersonForm : Person
{
[MyAttribute]
public override string Name { get; set; }
}
public class MyAttribute : Attribute
{ }
Теперь то, что у меня есть в моем проекте является родовой функцией сохранения который получит в один момент объект типа Person. Вопрос: При использовании объекта Person я могу увидеть MyAttribute из производного PersonForm?
В реальном мире это происходит в приложении MVC, где мы используем PersonForm как класс для отображения формы, а класс Person - как класс Model. Когда вы приходите к методу Save(), я получаю класс Person. Но атрибуты находятся в классе PersonForm.
[Attribute.GetCustomAttributes Method (MemberInfo, Boolean)] (http://msdn.microsoft.com/en-us/library/ms130868 (v = vs.110) .aspx) для второго параметра присваивается значение true. – Yuriy