Instant Developer

Tips&Tricks: integrare una classe C# in Instant Developer Foundation

| 11 Marzo 2020 | Giuseppe Lanzi
cropped tipstricks Instant Developer

Instant Developer Foundation è uno strumento molto potente che accelera notevolmente la velocità di sviluppo delle applicazioni e all’interno delle sue librerie sono mappate funzioni che rispondono alla maggior parte delle esigenze di implementazione.

Quando si verifica l’esigenza di integrare una propria classe C# o Java in un progetto, le librerie di Instant Developer Foundation potrebbero apparire in alcuni casi, a seguito di un’analisi superficiale, come un oggetto chiuso. Ma la realtà è molto diversa. Tutto quello che può essere scritto in un’applicazione web C# o Java può infatti essere scritto – e quindi utilizzato – anche con la nostra piattaforma di sviluppo. Basta solo sapere quale sia il rapporto tra le librerie del Visual Code e il codice C# o Java ottenuto.

Immaginiamo, ad esempio, di voler mappare la classe MyClass con il metodo welcomeMe(). Il metodo accetta una stringa in ingresso e restituisce “Hello <parametro>!”. A titolo di esempio ho creato un piccolo progetto in C#. D’ora in poi parleremo quindi di C#, ma ovviamente tutto l’articolo è valido anche per Java.

Per prima cosa, la classe deve essere inclusa nel progetto e, poiché non fa parte del template standard, è necessario aggiungere file alla directory custom. Per maggiori informazioni sulla directory custom potete consultare il paragrafo 11.2 della Guida all’uso di Instant Developer Foundation.

Per aggiungere la classe nel progetto usiamo il comando di menu contestuale Nuova libreria.

tip 1 Instant Developer

Verrà mostrata la pagina di dettaglio del nuovo oggetto Nuova Libreria appena creato. Nei campi Nomi della classe dobbiamo inserire il namespace e il nome della classe, così come li avremmo usati per scrivere la riga di codice new MyNameSpace.MyClass().

tip 2 Instant Developer

Ora che abbiamo mappato il nome della classe, procediamo con la creazione di una nuova funzione usando il comando Nuova funzione del menu contestuale della classe.

tip 3 Instant Developer

Apparirà la finestra delle proprietà della funzione, nella quale andremo a scrivere il codice C# così come lo scriveremmo in Visual Studio – con alcune piccole note sulla sintassi.

tip 4 Instant Developer

Nella scrittura del codice infatti dobbiamo essere in grado di:

  1. referenziare l’istanza corrente della classe;
  2. referenziare i parametri.

Per farlo usiamo il simbolo $ e un numero come identificatore:

  1. $0 per referenziare la classe;
  2. $1, $2, $3, ecc… per referenziare i vari parametri.

Normalmente penseremmo di dover scrivere $0.welcomeMe($1) ma, come si vede dall’esempio, appare anche $1.stringValue(). Perché?

Il motivo è che all’interno di Instant Developer Foundation non vengono utilizzati i tipi primitivi int, string, boolean, ecc…, ma istanze di una classe IDVariant. Questa classe è frutto dell’eredità di Visual Basic 6. Instant Developer Foundation, infatti, è nato con VB6 e, al momento dell’implementazione del generatore di codice Java, abbiamo deciso di tenere il caro vecchio variant e di potenziarlo, creando una classe speciale.

Grazie proprio alla classe IDVariant, il comportamento delle applicazioni scritte con Instant Developer Foundation è uguale nei vari linguaggi che implementa. Infatti tutti i metodi base – la somma, la concatenazione, il confronto, l’ordinamento, ecc… – sono ottenuti tramite apposite funzioni di IDVariant. Anche il confronto con null dà un risultato certo per questo motivo ed è una feature davvero potente.

Ma la nostra classe C# non conosce IDVariant e non deve conoscerlo: occorre quindi passare un parametro di tipo primitivo. Per ottenerlo è sufficiente usare una tra le seguenti funzioni:

  • intValue();
  • stringValue();
  • booleanValue();
  • dateValue();
  • floatValue().

Nell’esempio riportato qui sopra, tuttavia, è presente un errore: la funzione welcomeMe() restituisce una variabile string ma, come appena detto, nel Visual Code dobbiamo utilizzare degli IDVariant. Risolvere il problema è facile: basta restituire sempre una nuova istanza di IDVariant creata a partire dal risultato di welcomeMe(). Il costruttore accetta infatti tutti i tipi primitivi.

La nostra funzione finale sarà: new IDVariant($0.welcomeMe($1.stringValue()).

Dobbiamo anche ricordarci di specificare character come tipo restituito.

tip 5 Instant Developer

Aggiungiamo il parametro definendolo come character usando il comando di menu contestuale della funzione Nuovo parametro e impostandola così nella schermata delle proprietà. Grazie alla mappa dei tipi di dato permessi, l’IDE è in grado di validare il codice scritto generando gli opportuni errori di tipo di dato errato.

tip 6 Instant Developer

A questo punto possiamo usare nel Visual Code Editor la funzione appena creata.

tip 7 Instant Developer

E il risultato è più che esplicativo.

tip 8 Instant Developer

Questa è la tecnica di base che può essere utilizzata ma, se si desidera includere classi più complesse, basta continuare a usare lo stesso metodo più volte.

Siamo arrivati alla fine di questo Tips&Tricks: ora tocca a voi mettere in pratica quello che vi ho mostrato… buona importazione a tutti!

Giuseppe Lanzi
Technical Support Manager
Mi occupo di assistenza e consulenza tecnica, dei corsi di formazione e dei sistemi rivolti ai clienti. Amo la tecnologia e ogni tipo di nuovo gadget, mi interesso di fotografia e prendo al volo ogni occasione di scoprire un nuovo gioco.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


Potrebbe interessarti

Instant Developer Foundation e Cloud 24.5: la prima volta insieme

Il rilascio delle versioni 24.5 di Instant Developer Foundation e Instant Developer Cloud rappresenta una grande novità: è la prima occasione in cui le due...

Leggi Tutto

Integrazione di librerie JavaScript per generare barcode

Scegliere il modo giusto per generare barcode non è semplice e la decisione che prendi può fare la differenza in termini di costi e praticità.Potresti...

Leggi Tutto

Web API: il modo semplice per condividere database con Instant Developer Foundation

Utilizzare le Web API per condividere i propri database con altre applicazioni può essere a volte molto complicato. Ma, allo stesso tempo, le Web API...

Leggi Tutto

Rimani Aggiornato

Iscriviti alla nostra newsletter per ricevere aggiornamenti su novità, eventi, release, webinar e tante altre notizie sui prodotti Instant Developer.

    Presa visione dell'informativa (disponibile qui) resa da Pro Gamma SpA, acconsento al trattamento dei miei dati personali per l'invio di newsletter.*