Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questa sezione vengono illustrate le variabili e gli operatori utilizzati nel linguaggio XLANG/s.
Variabili XLANG/s
Le variabili rappresentano posizioni di archiviazione. Tutte le variabili hanno un tipo che determina quali valori possono essere archiviati in tale variabile. XLANG/s è indipendente dai tipi e il compilatore garantisce che i valori archiviati siano sempre di tipo appropriato. XLANG/s supporta i tipi di variabili seguenti:
Messaggi
Set di correlazioni
Collegamenti al servizio
Porte
Tipi di valore predefiniti distinti: Boolean, Byte, Char, Decimal, Double, Int16, Int32, Int64, SByte, Single, String, UInt16, UInt32 e UInt64
Oggetti
Tipi di enumerazione
XLANG/s consente la semantica di inizializzazione di ciascuno dei tipi precedenti. Tale inizializzazione può essere intesa come un'assegnazione a una variabile di tale tipo. In XLANG/s, una variabile deve essere assegnata in modo definitivo prima che sia possibile ottenere o utilizzare il relativo valore.
Operatori XLANG/s
XLANG/s supporta i tipi di operatori seguenti: Questi rispettano con precisione la funzionalità degli operatori corrispondenti in C#.
| Operatore | Descrizione | Esempio |
|---|---|---|
| selezionata | Genera un errore di overflow aritmetico | checked(x = y * 1000) |
| non selezionata | Ignora l'overflow di valori aritmetici | unchecked(x = y * 1000) |
| Nuovo | Crea l'istanza di una classe | myObject = new MyClass; |
| typeof | Recupera un tipo | myMapType = typeof(myMap) |
| riuscito | Verifica il completamento corretto dell'ambito transazionale o dell'orchestrazione | successed(<ID transazione per la transazione figlio dell'ambito o del servizio> corrente) |
| esiste | Verifica l'esistenza di una proprietà di contesto del messaggio | BTS.RetryCount exists Message_In |
| + | Più unario | +(int x) |
| - | Operatore 'meno' unario | -(int x) |
| ! | Negazione logica | !myBool |
| ~ | Completamento bit per bit | x = ~y |
| () | Cast | (bool) myInt |
| * | Ore | Weight = MyMsg.numOrders * 20 |
| / | Diviso per | x / y |
| + | Plus | x + y |
| - | Meno | x - y |
| << | Spostamento a sinistra | x << 2 |
| >> | Spostamento a destra | x >> 2 |
| < | Minore di | Se (MyMsg.numOrders < 10)... |
| > | Maggiore di | Se (MyMsg.numOrders > 10)... |
| <= | Minore o uguale a | Se (MyMsg.numOrders <= 10)... |
| >= | Maggiore o uguale a | Se (MyMsg.numOrders >= 10)... |
| == | Uguale a | If (MyMsg.numOrders == 10)... |
| != | Diverso da | If (MyMsg.numOrders != 10)... |
Vedere anche
Tipi di dati XLANG-s
Istruzioni XLANG-s
Espressioni XLANG-s
Parole riservate XLANG-s
Conversioni dal tipo XLANG-s a BPEL4WS