Vb.net 显示代码时间内函数参数的可接受值列表

Vb.net 显示代码时间内函数参数的可接受值列表,vb.net,Vb.net,每个VB.NET开发人员都清楚,当尝试在VS中编写代码时,intellisense为.NET函数的参数提供值;但现在的问题是,如何定义一个函数,当编码时,它本身帮助我们为函数的参数选择可接受的值 一个可能有帮助的图像: 您可以通过在方法、属性和类之前添加3个单引号(')来为它们添加描述。这将创建一些文档注释,如: ''' <summary> ''' Description sumary for the method ''' </summary> ''' <param

每个VB.NET开发人员都清楚,当尝试在VS中编写代码时,intellisense为.NET函数的参数提供值;但现在的问题是,如何定义一个函数,当编码时,它本身帮助我们为函数的参数选择可接受的值

一个可能有帮助的图像:
您可以通过在方法、属性和类之前添加3个单引号(
'
)来为它们添加描述。这将创建一些文档注释,如:

''' <summary>
''' Description sumary for the method
''' </summary>
''' <param name="param1">param 1 description.</param>
''' <param name="param2">param 2 description.</param>
''' <returns>return description</returns>
Public Function FunctionName(param1 As String, param2 As int) As String
   ' ...
End Function
提示2:

如果您的参数需要是字符串,您可以创建一个带有一些常量的类来帮助实现这一点,或者实现一些共享属性来使用实例:

''' <completionlist cref="AnimalType"/>
Class AnimalType
    Private Name As String

    Public Shared ReadOnly Cat As AnimalType = New AnimalType("Cat")
    Public Shared ReadOnly Dog As AnimalType = New AnimalType("Dog")

    Private Sub New(Name as String)
        Me.Name = Name 
    End Sub

    Public Overrides Function ToString() As String
        Return Me.Name 
    End Function
End Class
“”
类动物型
私有名称作为字符串
公共共享只读Cat As AnimalType=新AnimalType(“Cat”)
作为AnimalType的公共共享只读狗=新AnimalType(“狗”)
Private Sub New(名称为字符串)
Me.Name=Name
端接头
Public将函数ToString()重写为字符串
告诉我你的名字
端函数
末级

虽然枚举提供“本机”行为,但它也存在于其他非枚举类型中,例如System.Drawing.Color或System.Drawing.Brush,当点入时,它们会显示类似的“harcoded值”列表。这种行为在自定义类型上也是可能的(至少在VB.Net中;除非有C#中不可用的更改)

这是怎么回事?它使用了一个未记录的XML文档标记,即completionlist,在该标记中引用一个类型,或者相同(与颜色相同),或者其他类型(与引用笔刷的笔刷相同)。在该类型中,所有公共静态/
共享
字段和属性都将在完成列表中(即使不是引用类型)

例如(真的是人为的),你可以有这样的东西:

''' <completionlist cref="FamousPeople"/>
Class People
    ' ...
End Class

NotInheritable Class FamousPeople
    Public Shared ReadOnly Sehnsucht As New People("Sehnsucht") ' Why not ?
    Shared ReadOnly Property JohnSkeet As New People("John Skeet")
    Shared ReadOnly Property EricLippert As New People("Eric Lippert")
    Shared ReadOnly Property MarcGravell As New People("Marc Gravell")
End Class
“”
阶级人士
' ...
末级
不可继承类FamousPeople
公共共享只读Sehnsucht作为新人(“Sehnsucht”)“为什么不呢?
共享只读财产JohnSkeet作为新人(“John Skeet”)
共享只读属性EricLippert作为新人(“Eric Lippert”)
共享只读财产MarcGravel作为新人(“Marc Gravel”)
末级
(如果我愿意,我可以直接把它们放在人里面)


然后,当您必须提供类型为People的值时,Intellisense会向您显示定义的“列表”(当然,如果您愿意,可以选择创建一个未列出的列表)

请描述。。。intellisense为.NET函数的参数提供值;图像的可能复制可能会有帮助:这些是关于描述的问题,但我的目的是列出参数的可接受值谢谢,您的回答很有帮助,我的目的实现了,但是
Enum
是num!(即
Integer
)现在我们可以为字符串做些什么?看看我的技巧2。
''' <completionlist cref="FamousPeople"/>
Class People
    ' ...
End Class

NotInheritable Class FamousPeople
    Public Shared ReadOnly Sehnsucht As New People("Sehnsucht") ' Why not ?
    Shared ReadOnly Property JohnSkeet As New People("John Skeet")
    Shared ReadOnly Property EricLippert As New People("Eric Lippert")
    Shared ReadOnly Property MarcGravell As New People("Marc Gravell")
End Class