我正在尝试确定界面是否使用特定属性进行修饰。例如,我有以下界面:
<MyCustomAttribute()> _
Public Interface IMyInterface
Function Function1
Sub DeleteWorkflowInstanceMap(ByVal instanceId As Guid)
Sub InsertWorkflowInstanceMap(ByVal instanceId As Guid, ByVal aliasName As String)
End Interface
如何确定IMyInterface是否使用MyCustomAttribute属性进行修饰?
答案 0 :(得分:7)
比GetCustomAttributes
更好的是共享方法IsDefined
:
Attribute.IsDefined(GetType(IMyInterface), GetType(MyCustomAttribute))
答案 1 :(得分:3)
GetType(IMyInterface).GetCustomAttributes(GetType(MyCustomAttribute), false).Length > 0
(我希望我的VB语法正确。)基本上得到一个表示IMyInterface的Type,然后在它上面调用GetCustomAttributes传递你感兴趣的属性类型。如果返回一个非空数组,则该属性存在
答案 2 :(得分:0)