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