AmbiguousMatchException - Type.GetProperty - C # Отражение

Вчера я столкнулся с проблемой при разработке веб-части (этот вопрос не о веб-части, а о C #). Немного предыстории о проблеме. У меня есть код, который загружает WebPart с помощью Reflection, в котором я получил AmbiguousMatchException. Для воспроизведения попробуйте следующий код

        public class TypeA
        {
            public virtual int Height { get; set; }
        }
        public class TypeB : TypeA
        {
            public String Height { get; set; }
        }
        public class Class1 : TypeB
        {

        }

        Assembly oAssemblyCurrent = Assembly.GetExecutingAssembly();
        Type oType2 = oAssemblyCurrent.GetType("AmbigousMatchReflection.Class1");
        PropertyInfo oPropertyInfo2 = oType2.GetProperty("Height");//Throws AmbiguousMatchException 
        oPropertyInfo2 = oType2.GetProperty("Height", 
            BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Instance);  // I tried this code Neither these BindingFlags or any other didnt help

Я хотел знать BindingFlag, чтобы получить свойство высоты. У вас возникнет вопрос, почему я хотел создать еще одно свойство Height, которое уже есть в базовом классе. Вот какMicrosoft.SharePoint.WebPartPages.PageViewerWebPart была разработана проверка свойства Height класса PageViewerWebPart.

Ответы на вопрос(4)

Ваш ответ на вопрос