Bagikan melalui


5 Kesuaian

Kesesuaian menarik bagi audiens berikut:

  • Mereka yang merancang, mengimplementasikan, atau memelihara implementasi C#.
  • Entitas pemerintah atau komersial yang ingin mendapatkan implementasi C#.
  • Organisasi pengujian yang ingin menyediakan rangkaian pengujian kesuaian C#.
  • Programmer ingin port kode dari satu implementasi C# ke implementasi C# lainnya.
  • Pendidik ingin mengajar Standar C#.
  • Penulis ingin menulis tentang Standard C#.

Dengan demikian, kesamaan adalah yang paling penting, dan sebagian besar spesifikasi ini ditujukan untuk menentukan karakteristik yang membuat implementasi C# dan program C# sesuai dengan yang.

Teks dalam spesifikasi ini yang menentukan persyaratan dianggap normatif. Semua teks lain dalam spesifikasi ini bersifat informatif; yaitu, hanya untuk tujuan informasi. Kecuali dinyatakan lain, semua teks bersifat normatif. Teks normatif lebih lanjut dipecah menjadi kategori yang diperlukan dan bersyarat. Teks normatif kondisional menentukan fitur dan persyaratannya di mana fitur bersifat opsional. Namun, jika fitur tersebut disediakan, sintaks dan semantiknya akan persis seperti yang ditentukan.

Perilaku yang tidak ditentukan ditunjukkan dalam spesifikasi ini hanya dengan kata -kata 'perilaku yang tidak terdefinisi.'

Program yang sangat sesuai hanya akan menggunakan fitur bahasa yang ditentukan dalam spesifikasi ini sebagaimana diperlukan. (Ini berarti bahwa program yang benar-benar sesuai tidak dapat menggunakan fitur normatif kondisional apa pun.) Ini tidak akan menghasilkan output tergantung pada perilaku yang tidak ditentukan, tidak ditentukan, atau ditentukan implementasi.

Implementasi C# yang sesuai akan menerima program yang benar-benar sesuai.

Implementasi C# yang sesuai akan menyediakan dan mendukung semua jenis, nilai, objek, properti, metode, dan sintaks program dan semantik yang dijelaskan dalam bagian normatif (tetapi bukan normatif kondisional) dalam spesifikasi ini.

Implementasi C# yang sesuai harus menafsirkan karakter sesuai dengan Standar Unicode. Implementasi yang sesuai harus menerima unit kompilasi yang dikodekan dengan formulir pengodean UTF-8.

Implementasi C# yang sesuai tidak akan berhasil menerjemahkan sumber yang berisi direktif pra-pemrosesan #error kecuali itu adalah bagian dari grup yang dilewati oleh kompilasi kondisional.

Implementasi C# yang sesuai akan menghasilkan setidaknya satu pesan diagnostik jika program sumber melanggar aturan sintaks apa pun, atau persyaratan negatif apa pun (didefinisikan sebagai persyaratan "harus" atau "tidak akan" atau "kesalahan" atau "peringatan"), kecuali persyaratan tersebut ditandai dengan kata -kata "tidak diperlukan diagnostik".

Implementasi C# yang sesuai diizinkan untuk menyediakan jenis dan anggota tambahan di luar yang dijelaskan dalam spesifikasi ini, asalkan mereka tidak mengubah perilaku program yang benar-benar sesuai. Atribut yang dijelaskan dalam spesifikasi ini mungkin berlaku untuk target tambahan dalam implementasi yang sesuai. Implementasi yang sesuai diperlukan untuk mendiagnosis program yang menggunakan ekstensi yang sakit yang terbentuk sesuai dengan spesifikasi ini. Namun, setelah melakukannya, mereka dapat mengkompilasi dan menjalankan program tersebut. (Kemampuan untuk memiliki ekstensi menyiratkan bahwa implementasi yang sesuai tidak mencadangkan pengidentifikasi selain yang secara eksplisit dicadangkan dalam spesifikasi ini.)

Implementasi C# yang sesuai harus disertai dengan dokumen yang mendefinisikan semua karakteristik yang ditentukan implementasi, dan semua ekstensi.

Implementasi C# yang sesuai akan mendukung pustaka kelas yang didokumentasikan dalam Annex C. Pustaka ini disertakan oleh referensi dalam spesifikasi ini.

Program yang sesuai adalah program yang dapat diterima oleh implementasi yang sesuai. (Program semacam itu diizinkan untuk berisi ekstensi atau fitur normatif kondisional.)