元属性继承可使用IsDefined函数进行判断,先写出结论

若是使用Overrides,则元属性能够继承,除非在使用IsDefined时明确不进行继承判断,如
pFunction.IsDefined(GetType(DisplayNameAttribute), False)

若是使用Overloads,则元属性不能继承,
以下为测试源码:
Sub Main() 'Dim s As New S3() 's.Method() 'CType(s, S2).Method() 'CType(s, S1).Method() Dim pFunction As MethodInfo = GetType(S2).GetMethod("Method") If (pFunction.IsDefined(GetType(DisplayNameAttribute), False)) Then Console.WriteLine("DisplayName") Else Console.WriteLine("No DisplayName") End If Console.ReadLine() End SubEnd ModuleClass S1 <DisplayName("s1")> Public Overridable Sub Method() Console.WriteLine("这是S1实例方法") End SubEnd ClassClass S2 Inherits S1 Public Overrides Sub Method() Console.WriteLine("这是S2实例方法") End SubEnd ClassClass S3 Inherits S2 'Public Overloads Sub Method() ' Console.WriteLine("这是S3实例方法") 'End SubEnd Class