Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,567

    [vb.net] come posso migliorare questa funzione?

    salve a tutti
    essendo che avevo tempo in ufficio , stavo cercando di modificare una funzione gia esistente, ora ho il dubbio che non sia ottimale per la stesura di codice ed esecuzione.

    questa funzione e' un web service, dal client viene spedito tutto il FORM che contiene i dati dell'articolo da modificare, qui vado ad iterare tutte le property della classe CLS_articolo e se rientra in uno dei valori inviati lo valorizzo
    per ciclare le property della classe utiizzo reflector, e tramite una select case vado a controllare quale e' la property da valorizzare.
    Esiste un modo senza utilizzare un select case?
    nella funzione originale mi prendevo tutti i campi uno per uno e li valorizzavo
    dopo un po mi sta venendo il dubbio se sia una buona cosa questo ciclo, voi come fate? vorrei avere pareri diversi su modi di fare
    codice:
     <WebMethod>
        Public Function ArticoloSave(ByVal formVars As NameValue()) As String
    
            Dim Art As New CLS_articoli()
    
            For Each nv As NameValue In formVars
    
                Dim fi As FieldInfo() = GetType(CLS_articoli).GetFields(BindingFlags.Public Or BindingFlags.Instance)
            For Each info As FieldInfo In fi
                Console.WriteLine(info.Name)
    
                Select Case info.Name.ToLower
                    Case "CodArticolo".ToLower
                          Art.CodArticolo = nv.Value
                    Case "Descrizione".ToLower
                           Art.Descrizione= nv.Value
                    Case "CodiceBarre".ToLower
                    Case "RcodPosizMagazzino".ToLower
                    Case "UnitaMisura".ToLower
                    Case "Peso".ToLower
                    Case "Capienza".ToLower
                End Select
            Next
    end function
    
        Public Class NameValue
            Public Property Name As String
            Public Property Value As String
        End Class
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  2. #2
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,260
    Intendi per valorizzare CLS_articoli?

    Potresti usare CallByName
    Qualcosa come:
    codice:
    CallByName(Art,"CodArticolo",CallType.Set,nv.Value)
    
    Il ciclo rimarrebbe.
    In alternativa ci sono delle librerie che fanno questa cosa in automatico, ma le conosco poco e non mi sembra il tuo caso.

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,338
    Quote Originariamente inviata da Kahm Visualizza il messaggio
    nella funzione originale mi prendevo tutti i campi uno per uno e li valorizzavo
    Mi sembrava una scelta migliore: perché sei passato a una soluzione basata su Reflection, che è senz'altro molto più lenta?

    Quote Originariamente inviata da Kahm Visualizza il messaggio
    voi come fate? vorrei avere pareri diversi su modi di fare
    Alla peggio, vi sono soluzioni più efficenti e configurabili, tipo Automapper o Mapster.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,567
    Quote Originariamente inviata da alka Visualizza il messaggio
    Mi sembrava una scelta migliore: perché sei passato a una soluzione basata su Reflection, che è senz'altro molto più lenta?


    Alla peggio, vi sono soluzioni più efficenti e configurabili, tipo Automapper o Mapster.
    grazie
    almeno ho le idee piu chiare ora
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  5. #5
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,567
    stamattina mi sono svegliato con un dubbio
    tecnicamente e' il client che si deve preoccupare di valorizzare i campi con il nomecontrollo, il servizio deve rimanere generico e poter accettare dati da qualunque fonte.
    per inviare il form invio comunque tutti i campi,
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,338
    Quote Originariamente inviata da Kahm Visualizza il messaggio
    stamattina mi sono svegliato con un dubbio
    tecnicamente e' il client che si deve preoccupare di valorizzare i campi con il nomecontrollo, il servizio deve rimanere generico e poter accettare dati da qualunque fonte.
    per inviare il form invio comunque tutti i campi,
    E il dubbio è...?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,338
    Quote Originariamente inviata da Kahm Visualizza il messaggio
    stamattina mi sono svegliato con un dubbio
    tecnicamente e' il client che si deve preoccupare di valorizzare i campi con il nomecontrollo, il servizio deve rimanere generico e poter accettare dati da qualunque fonte.
    per inviare il form invio comunque tutti i campi,
    E il dubbio è...?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  8. #8
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,567
    Quote Originariamente inviata da alka Visualizza il messaggio
    E il dubbio è...?
    Che non è best practice
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  9. #9
    Quote Originariamente inviata da Kahm Visualizza il messaggio
    Che non è best practice
    non è best practice di cosa? puoi contestualizzare?

  10. #10
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,567
    Quote Originariamente inviata da optime Visualizza il messaggio
    non � best practice di cosa? puoi contestualizzare?
    Il servizio deve essere generico vero?
    Ma se io invio tutto il form al servizio esso allora pu� essere usato solo da me.
    Una cosa del genere poi non penso di averla mai letta in nessun libro che il servizio su deve preoccupare di associare a ciasxuna property ol valore dei campi che ovviamente possono essere diversi in ogni pagina che usa il servizio.

    Rcco perch� chiedevo anche voi cosa usate di preciso e come fate
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.