簡體   English   中英

方法參數的自定義屬性?

[英]custom Attributes for method arguments?

是否可以向方法的參數添加自定義屬性。

例如我有如下方法

''' <summary>
'''  Get addition of given two number
''' </summary>
''' <param name="firstNumber">First number which participate in addition</param>
''' <param name="secondNumber">Second number which participate in addition</param>
''' <returns></returns>
''' <remarks></remarks>
Public Function Add(firstNumber As Integer, secondNumber As Integer) As Double
    Return firstNumber + secondNumber
End Function

連同“參數名稱”及其描述,我是否可以在參數中添加任何標記的值?

首先,我們必須定義calss,其Attribute-Targe作為Parameter如下

<AttributeUsage(System.AttributeTargets.Parameter)>
Public Class SomeParameterAttribute
    Inherits Attribute

    Private m_Something As String

    Public Sub New(something As String)
        m_Something = something
    End Sub

    Public Property Something As String
        Get
            Return m_Something
        End Get
        Set(value As String)
            m_Something = value
        End Set
    End Property

End Class

然后我們可以將此屬性添加到任何參數中,如下所示

''' <summary>
'''  Get addition of given two values
''' </summary>
''' <param name="firstNumber">First number which participate in addition</param>
''' <param name="secondNumber">Second number which participate in addition</param>
''' <returns></returns>
''' <remarks></remarks>
Public Function Add(<SomeParameterAttribute("Something about first number")> firstNumber As Integer, _
                    <SomeParameterAttribute("Something about second number")> secondNumber As Integer) As Double
    Return firstNumber + secondNumber
End Function

非常感謝您的所有其他答復,以及為此付出努力的任何人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM