If you look at the documents for ObsoleteAttribute , you will see that its AttributeUsage sets Inherited to false, so the attribute is not inherited when overriding elements.
I suspect that if you verify that it overrides the underlying property and works on the inheritance chain, you can detect the attribute this way. In truth, this is confusion.
source share