Почему я получаю "CustomAttributes" не является членом PropertyInfo "

Я использую отражение, чтобы получить некоторые значения свойств. Код (кажется, работает), как и предполагалось, но Visual Studio сообщает об ошибке BC30456 "CustomAttributes" не является членом PropertyInfo. В первый раз, когда я написал код, он скомпилирован чисто; в более поздний момент VS начал последовательно отмечать ошибку. Я очистил и восстановил решение, закрыл и повторно открыл VS несколько раз. Когда я запускаю проект, он позволяет мне "запустить последнюю успешную сборку", и страница, включая любые изменения в другом месте, запускается, как и ожидалось. Код является частью веб-сайта (не веб-проекта / веб-приложения) в Visual Studio Community 2015, обновление 1. Код находится в классе в папке App_Code.

For Each prop As System.Reflection.PropertyInfo In obj.GetType().GetProperties()
    Dim ignore As Boolean = False
    For Each x In prop.CustomAttributes()
        If x.AttributeType.Name = "XmlIgnoreAttribute" Then
            ignore = True
            Exit For
        End If
    Next
 ... other stuff
 Next

ошибка помечена VS2015

Если я использую Object Browser, то показывается не менее 5 экземпляров System.Reflection.PropertyInfo. Каждый из них имеет идентичную информацию (класс MustInherit PropertyInfo, наследует System.Reflection.MemberInfo, член System.Reflection), но только 2 включают свойство CustomAttributes. Я предполагаю, что компилятор смотрит на "неправильный" экземпляр PropertyInfo...?
Код работает, так что это не ограничитель показа, но, конечно, я хотел бы, чтобы мой код компилировался аккуратно и чтобы понять причину этой ошибки.

0 ответов

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