Supporto del linguaggio C#

Dalla versione 2021.00 QualiWare supporta il linguaggio C# nei seguenti tipi di script:
  • Eventi nei form realizzati con il Form Designer
  • Task
  • Script e condizioni nel Workflow Designer
  • Script collegati agli oggetti nei plug-in delle schede standard

Il sistema è in grado di riconoscere automaticamente il linguaggio utilizzato, e di evidenziarne la sintassi di conseguenza.

E’ necessario tenere presente che:

  • In un form tutti gli eventi devono essere scritti nello stesso linguaggio. In altre parole, non è possibile, nello stesso form, avere alcuni eventi scritti in VB.NET e altri in C#. Per verificare questo, si può effettuare un’esportazione del form in XML o eseguire il report della configurazione, e verificare che tutti gli eventi comincino con i caratteri “//C#”, o che nessun evento abbia quel prefisso.
    E’ invece possibile utilizzare codice scritto in linguaggi diversi all’interno dello stesso workflow o dello stesso plug-in.
  • Gli eventi di una sola riga devono finire con “;” altrimenti non viene riconosciuto come C#.

Differenze fra VB.NET e C#

VB .NET e C# presentano alcune differenze importanti che è necessario tenere presente nella scrittura del codice. Qui di seguito riportiamo quelle che possono creare qualche difficoltà durante lo sviluppo.

  • C# è case sensitive. E’ quindi indispensabile scrivere i nomi dei tipi o delle funzioni esattamente come sono riportati nella documentazione o nei suggerimenti che appaiono durante la scrittura del programma.
  • Gli elementi dei DBArray, degli AssocArray (compreso “Fields”) e delle collection vanno indicizzati usando le parentesi quadre anzichè le tonde, altrimenti viene restituito un errore.
    Esempi:

    This.Style["TOP"]="10px";
    a[1]=2;
    b["A1"]=3
  • Nei metodi “Execute” degli oggetti “Procedura” non è possibile passare delle costanti nei vari parametri, ma è necessario utilizzare sempre delle variabili. Inoltre queste devono essere precedute dalla parola chiave “ref”.
    Esempio:

    object a="A";
    object b="B";
    object c="C";
    object d="D";
    form.findcontrol("ProcedureCode1").Execute(ref a, ref b, ref c, ref d);
    
  • C# è un linguaggio fortemente tipizzato. I valori restituiti dai campi non vengono convertiti implicitamente nei tipi relativi, ma per poterli utilizzare bisogna convertirli specificando il tipo davanti.
    Esempio:

    return (bool) FORMFIELDS["FLAG1"].Value;

Convertitore VB.NET <-> C#

Il gestore eventi del Form Designer mette a disposizione un’interessante funzionalità che consente di convertire un evento da VB.NET a C# e viceversa. Essa utilizza la funzionalità on-line messa a disposizione da Telerik e disponibile a questa pagina.