Sunteți pe pagina 1din 2

Imports System

Imports System.Data
Imports System.Data.Sql
Imports System.Data.SqlTypes
Imports Microsoft.SqlServer.Server
Imports System.IO
Serializable() _
Microsoft.SqlServer.Server.SqlUserDefinedType
(Format.UserDefined,
IsFixedLength:=True, MaxByteSize:=2)
Public Structure Gender
Implements INullable, IBinarySerialize
Public Sub Read(ByVal r As BinaryReader)
Implements IBinarySerialize.Read
m_value = r.ReadString.ToString()
End Sub
Public Sub Write(ByVal w As BinaryWriter)
Implements IBinarySerialize.Write
w.Write(m_value.ToString())
End Sub
Public Overrides Function ToString() As String
If m_value.IsNull = False Then
Return m_value.Value
Else
Return Nothing
End If
End Function
Public ReadOnly Property IsNull() As Boolean
Implements INullable.IsNull
Get
If m_value.IsNull = True Then
Return True
Else
Return False
End If
End Get
End Property
Public Shared ReadOnly Property Null() As Gender
Get
Dim h As Gender = New Gender
h.m_Null = True
Return h
End Get
End Property
Public Shared Function Parse(ByVal s As SqlString) As Gender
If s.IsNull Then
Return Null
End If
Dim u As Gender = New Gender
u.Value = s
Return u
End Function
' Create a Value Property
Public Property Value() As SqlString
Get
Return m_value
End Get
Set(ByVal value As SqlString)
If (value = "M" Or value = "F") Then
m_value = value
Else
Throw New ArgumentException _
("Gender data type must be M or F")
End If
End Set
End Property
' Private members
Private m_Null As Boolean
Private m_value As SqlString
End Structure

S-ar putea să vă placă și