根据预处理器指令的不同,我想将类中的所有属性设置为EditorBrowsableAttribute.never。

我考虑过创建从EditorBrowsableAttribute派生的自定义属性,但不幸的是,该类已密封。

我已经看过IcustomTypedScriptor,但是在GetProperties方法中,我可以掌握每个属性描述符,但是属性集合已阅读。

有任何想法吗?

有帮助吗?

解决方案 2

我最近再次遇到了这个问题,这次答案很快就给了我。只需设置几个常数:

Friend Class CompilerUtils

#If HideCode Then
    Public Const Browsable As EditorBrowsableState = EditorBrowsableState.Never 
    Public Const BrowsableAdvanced As EditorBrowsableState = EditorBrowsableState.Never 
#Else
    Public Const Browsable As EditorBrowsableState = EditorBrowsableState.Always
    Public Const BrowsableAdvanced As EditorBrowsableState = EditorBrowsableState.Advanced
#End If

End Class

然后在您的代码中,装饰成会员:

<EditorBrowsable(CompilerUtils.Browsable)> _
<EditorBrowsable(CompilerUtils.BrowsableAdvanced)> _

其他提示

一种方法是明确使用 #if 句法

#if SOMECONDITION
[EditorBrowsable(EditorBrowsableState.Never)]
#endif
public int SomeProperty { get; set; }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top