Avatar billede websam Nybegynder
16. marts 2006 - 08:19 Der 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 ?

/Websam
Avatar billede websam Nybegynder
16. marts 2006 - 08:27 #1
Og til dem der koder i C# :

private int _Id;
private string _Name;

public int Id {
get {
  return _Id;
}
set {
  _Id = Value;
}
}

public string Name {
get {
  return _Name;
}
set {
  _Name = Value;
}
}

public abcd()
{
TODO : [ClassReferenceExpression].New(0, "");
}

public abcd(int intId, string strName)
{
_Id = intId;
_Name = strName;
}

############################################

InfoClass objInfo = new InfoClass(1, "Hans");
objBLL.Create(objInfo);

#######################################

public object Create(Info objInfo)
{
Info objCheck = new Info();
objCheck.Id = objInfo.Id;
objCheck.Name = md5Hash(objInfo.Name);
objDAL.CreateNew(objCheck);
}

/Websam
Avatar billede dj_uncas Nybegynder
16. marts 2006 - 08:40 #2
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?
Avatar billede websam Nybegynder
16. marts 2006 - 08:50 #3
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)

/Websam
Avatar billede arne_v Ekspert
16. marts 2006 - 13:20 #4
det tror jeg

enten maa du lave en Info udfra en InfoClass (måske nogle bedre navne !)

eller så må du lave en klasse med både Name og MD5Name
Avatar billede websam Nybegynder
16. marts 2006 - 13:29 #5
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
Avatar billede websam Nybegynder
17. marts 2006 - 23:35 #6
Med den lille snak i den anden tråd er jeg blevet en del klogere på dette så smid et svar så kan i dele ;o)

/Websam
Avatar billede arne_v Ekspert
17. marts 2006 - 23:41 #7
.
Avatar billede dj_uncas Nybegynder
18. marts 2006 - 12:01 #8
øhm, her..
Avatar billede websam Nybegynder
18. marts 2006 - 22:01 #9
Tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester