Condividi tramite


5 Conformità

La conformità è di interesse per i destinatari seguenti:

  • Progettazione, implementazione o gestione di implementazioni C#.
  • Enti pubblici o commerciali che desiderano acquistare implementazioni C#.
  • Test delle organizzazioni che vogliono fornire un gruppo di test di conformità C#.
  • I programmatori che desiderano convertire il codice da un'implementazione C# a un'altra.
  • Docenti che desiderano insegnare standard C#.
  • Autori che vogliono scrivere informazioni su C#Standard.

Di conseguenza, la conformità è più importante e la maggior parte di questa specifica è destinata a specificare le caratteristiche che rendono conformi le implementazioni C# e i programmi C#.

Il testo in questa specifica che specifica i requisiti è considerato normativo. Tutto l'altro testo in questa specifica è informativo, vale a dire solo a scopo informativo. Se non diversamente specificato, tutto il testo è normativo. Il testo normativo è ulteriormente suddiviso in categorie obbligatorie e condizionali. Il testo normativo condizionale specifica una funzionalità e i relativi requisiti in cui la funzionalità è facoltativa. Tuttavia, se questa funzionalità viene fornita, la sintassi e la semantica devono essere esattamente come specificato.

Il comportamento non definito è indicato in questa specifica solo dalle parole "comportamento non definito".

Un programma strettamente conforme userà solo le caratteristiche del linguaggio specificato in questa specifica in base alle esigenze. Ciò significa che un programma strettamente conforme non può usare alcuna funzionalità normativa condizionale. Non produrrà output dipendente da alcun comportamento non specificato, non definito o definito dall'implementazione.

Un'implementazione conforme di C# accetta qualsiasi programma strettamente conforme.

Un'implementazione conforme di C# deve fornire e supportare tutti i tipi, i valori, gli oggetti, le proprietà, i metodi e la sintassi e la semantica del programma descritti nelle parti normative (ma non normative in modo condizionale) in questa specifica.

Un'implementazione conforme di C# interpreterà i caratteri in conformità allo standard Unicode. Le implementazioni conformi accettano unità di compilazione codificate con il modulo di codifica UTF-8.

Un'implementazione conforme di C# non converte correttamente l'origine contenente una direttiva di pre-elaborazione #error, a meno che non faccia parte di un gruppo ignorato dalla compilazione condizionale.

Un'implementazione conforme di C# genera almeno un messaggio di diagnostica se il programma di origine viola qualsiasi regola di sintassi o qualsiasi requisito negativo (definito come "deve" o "non deve" o "errore" o "avviso"), a meno che tale requisito non sia contrassegnato con le parole "non è necessaria la diagnostica".

Un'implementazione conforme di C# è autorizzata a fornire tipi, valori, oggetti, proprietà e metodi aggiuntivi oltre a quelli descritti in questa specifica, purché non modifichi il comportamento di un programma strettamente conforme. Le implementazioni conformi sono necessarie per diagnosticare i programmi che usano estensioni non formate in base a questa specifica. In questo modo, tuttavia, possono compilare ed eseguire tali programmi. La possibilità di avere estensioni implica che un'implementazione conforme non riserva identificatori diversi da quelli esplicitamente riservati in questa specifica.

Un'implementazione conforme di C# deve essere accompagnata da un documento che definisce tutte le caratteristiche definite dall'implementazione e tutte le estensioni.

Un'implementazione conforme di C# supporta la libreria di classi documentata nell'allegato C. Questa libreria è inclusa per riferimento in questa specifica.

Un programma conforme è un programma accettabile per un'implementazione conforme. Un programma di questo tipo può contenere estensioni o funzionalità normative in modo condizionale.