<p>So if I have:</p>

<pre><code>public class ChildClass : BaseClass
{
    public new virtual string TempProperty { get; set; }
}

public class BaseClass
{
    public virtual string TempProperty { get; set; }
}
</code></pre>

<p>How can I use reflection to see that ChildClass is hiding the Base implementation of TempProperty?</p>

<p>I'd like the answer to be agnostic between c# and vb.net</p>

Correction, if you are using VB the property you are looking for is "IsHideBySig".  This will be false in the case that the "new" keyword was used to define a method/property.
In the C# case, both instances are outputted as "hidebysig".  Thanks for pointing that out Greg.  I didn't realize I only tested this in VB.  Here's sample VB code that will repro this behavior.
```
```
Module Module1

    Class Foo
        Public Function SomeFunc() As Integer
            Return 42
        End Function
    End Class

    Class Bar
        Inherits Foo
        Public Shadows Function SomeFunc() As Integer
            Return 36
        End Function
    End Class

    Sub Main()
        Dim type = GetType(Bar)
        Dim func = type.GetMethod("SomeFunc")
        Stop
    End Sub

End Module
```
```