16. marts 2006 - 08:19Der er
7 kommentarer og 2 løsninger
Et spørgsmål til en info klasse ?
Hejsa,
jeg benytter mig af info klasser til brug på tværs af mine lag. det kunne se sådan ud :
Private _Id As Integer Private _Name As String
Public Property Id() As Integer Get Return _Id End Get Set(ByVal Value As Integer) _Id = Value End Set End Property
Public Property Name() As String Get Return _Name End Get Set(ByVal Value As String) _Name = Value End Set End Property
Public Sub New() Myclass.New(0, "") End Sub
Public Sub New(Byval intId as Integer, Byval strName as String) _Id = intId _Name = strName End Sub
Når så jeg tilføjer værdier til denne inf klasse gør jeg det på følgende måde :
Dim objInfo As New InfoClass(1, "Hans") objBLL.Create(objInfo)
Men når jeg så i mit business lag vil tilgå værdierne for f.eks. at lave noget md5 på en værdi fra info klassen så går jeg lidt i stå, skal jeg så lave en ny instans af min info klasse som nedenfor for at dette virker :
Public Function Create(Byval objInfo as Info) Dim objCheck As New Info objCheck.Id = objInfo.Id objCheck.Name = md5Hash(objInfo.Name) objDAL.CreateNew(objCheck) End Function
Er det måden jeg skal gøre det på eller skal jeg gribe det an på en anden måde ?
Tja, du er vel nødt til at have en instans af din klasse før du kan tilgå den?! Det kan godt være det er mig der ikke forstår spørgsmålet 100%, men jeg kan ikke se det store problem i det?
Det er heller ikke noget problem, det var mere om jeg skulle gribe det an på en anden måde frem for først at kalde min info klasse i min codebehind for at tilføre værdier og der efter kalde klassen igen for at ændre disse værdier i min business klasse, men det er sikkert bare det jeg skal ;o)
Ja for ellers skal jeg ud at mine metoder indeholder variabler og så forsvinder det smarte med at have én info klasse.
En anden mulighed er jo at lave det der skal laves i code_behind filerne, men så kan jeg jo blot droppe min business klasse da den så nærmest bare bliver pass-through til data klassen, eksempel :
Public Function Create(Byval objInfo As InfoClass) As Boolean Dim Check As Integer = objDAL.CreateNew(objInfo) If Check > 0 Then Return True Else Return False End If End Function
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.