這裏是I類在這個問題引用:如何使VB.Net功能參數一個強類型的屬性,而不是隻是一個字符串
Public Class Enums
Public Enum Subscription As Byte
Vendor = 1
FreeTrial = 2
Standard = 3
Enterprise = 4
End Enum
End Class
在VB.NET類我有以下特性: 「通過的StackOverflow EDIT
Me.OptionSelection = HttpContext.Current.Request.Form("option_selection1") 'added by StackOverflow EDIT
加入:
Private _optionSelection1 As String 'added by StackOverflow EDIT
Public Property OptionSelection() As String
Get
Return If(IsNothing(_optionSelection1), String.Empty, _optionSelection1)
End Get
Set(ByVal value As String)
_optionSelection1 = value
End Set
End Property
的屬性,都會從一個可變的Request.Form如下設定我在一個函數以後使用這個值:
Dim choiceMade As Enums.Subscription = SubscriptionOptionSelected(Me.OptionSelection)
我想的功能可能會更強,如果它的參數可以是「做強」比字符串:
Private Function SubscriptionOptionSelected(ByVal value As String) As Enums.Subscription
Select Case value
Case "S10"
Return Enums.Subscription.Standard
Case "ENT"
Return Enums.Subscription.Enterprise
End Select
End Function
我試着寫功能像以下但編譯器立即抱怨:
Private Function SubscriptionOptionSelected(ByVal value As OptionSelection) As Enums.Subscription
有沒有辦法使用屬性作爲傳遞給這個小功能的類型?
如果Enums.Subscription是一個枚舉,你可以定義你的屬性'公共屬性OptionSelection()As Enums.Subscription' –