Condividi tramite


Modifiche di regole generali da .NET Framework 3.0 a .NET Framework 3.5

La funzionalità di alcune regole ha subito modifiche tra .NET Framework 3.0 e .NET Framework 3.5. Nell'elenco seguente vengono illustrate tali modifiche:

  • Nell'azione di una regola, quando si dichiara che un tipo nullable è maggiore di riferimento null (Nothing in Visual Basic), nel motore delle regole in .NET Framework 3.0 il confronto restituisce sempre true. In .NET Framework 3.5, restituisce falseche rappresenta il medesimo comportamento di C#. Per risolvere questo problema in .NET Framework 3.0 è necessario eseguire un controllo personalizzato di riferimento null (Nothing in Visual Basic) prima di confrontare tipi nullable con qualsiasi valore.
  • In fase di progettazione, condizioni personalizzate indicano al motore delle regole quale tipo verrà restituito dalle condizioni in fase di esecuzione. In .NET Framework 3.0, in fase di esecuzione le condizioni personalizzate possono restituire un tipo diverso da quello specificato in fase di progettazione. In .NET Framework 3.5, questo scenario avrebbe esito negativo.
  • In .NET Framework 3.0, concatenando tipi di dati string e char si produrrebbe un risultato erroneo. Ad esempio, se si concatena la string "s" e il char 'c', la concatenazione risultante sarà "s43." In .NET Framework 3.5, il risultato della concatenazione è "sc." Per ottenere il comportamento corretto in .NET Framework 3.0, eseguire il cast di tipi di dati char a string prima della concatenazione.
  • In .NET Framework 3.0, il confronto tra due tipi di dati bool nullable utilizzando operatori logici quali | e & restituirà riferimento null (Nothing in Visual Basic) se uno dei tipi di dati bool viene impostato su riferimento null (Nothing in Visual Basic). Si tratta di un comportamento diverso dal comportamento definito nella specifica C#. In .NET Framework 3.5, il comportamento del confronto tra due valori booleani corrisponde ora al comportamento definito nello specifica C# 3.0. Per ottenere il comportamento corretto in .NET Framework 3.0 è necessario eseguire un controllo personalizzato dei tipi di dati bool nullable. Se si riutilizza il codice C# nelle definizioni delle regole, è necessario modificare il codice C# per adattare le differenze di comportamento tra regole C# e WF.
  • In .NET Framework 3.0 non si ha accesso a un oggetto ActivityExecutionContext dall'interno di una condizione della regola personalizzata mentre in .NET Framework 3.5 si ha accesso.

Vedere anche

Altre risorse

Modifiche alle regole di .NET Framework 3.5

Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.