How do I limit the posible options to be assign to a .net property
Hello how can I have like a catalog for a property in .net VB .. I mean if i have
开发者_运维百科Property funcion(ByVal _funcion As Int16) As Int16
Get
Return _funcion
End Get
Set(ByVal value As Int16)
_funcion = value
End Set
End Property
I want to be able to assign to this property a limited number of options.
Example ..
Dim a as trick
a.funcion = (and get a list of possible attributes) ...
Thanks !!!
Instead of having it be of type Int16
have it be an Enum
. It won't be perfect since someone could still get around it, but they'd have to make an effort.
Here's the documentation for Enum
:
http://msdn.microsoft.com/en-us/library/8h84wky1%28VS.80%29.aspx
Set(ByVal value As Int16)
If value < 0
Throw New ArgumentException("value must be greater than or equal to 0")
_funcion = value
End Set
There is also compile-time checking for this in VS 2010 (though it requires VS 2010 Professional or greater).
Example usage:
''VB.Net 10 / Visual Studio 2010 Professional only
Set(ByVal value As Int16)
Contract.Requires(value >= 0)
_funcion = value
End Set
Here is how it ended ...
Enum _funciont As Short
Full = 1
Table = 2
Login = 3
End Enum
Property funcion() As _funciont
Get
Return CType(_funcion, _funciont)
End Get
Set(ByVal value As _funciont)
_funcion = value
End Set
End Property
Then when i put a s.funcion = ... get the list like a combo box .. !! thanks ...
精彩评论