Hidden Properties being documented by default

Topics: User Forum
Dec 20, 2009 at 12:58 PM

Hi Eric

I'm not quite sure if you would class this as a bug, or if there is some other simple solution?.  Please consider the following code:

        <System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never), _
        System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)> _
        Public Overrides Property DtModified() As Date
                Return MyBase.DtModified
            End Get
            Set(ByVal Value As Date)
                MyBase.DtModified = Value
            End Set
        End Property

Should it not be the case that procedures with these attributes should be excluded from the documentation by default?

Kindest Regards


Dec 20, 2009 at 8:21 PM

Sandcastle does not look at attributes to determine whether or not to hide or show a property.  There are a couple of different ways you can do it.  You can use an <exclude /> tag on the member to hide it or the preferred approach which is to use the ApiFilter project property.  The filter is preferred because the MRefBuilder tool will exclude the member as it is generating the reflection information which is more efficient than removing it afterwards using <exclude /> which has to parse the XML comments and the reflection information.