Aracılığıyla paylaş


Ek B Taşınabilirlik sorunları

Bu yan tümce bilgilendiricidir.

B.1 Genel

Bu ek, bu belirtimde görünen taşınabilirlik hakkında bazı bilgiler toplar.

B.2 Tanımlanmamış davranış

Aşağıdaki durumlarda davranış tanımlanmamıştır:

  1. Bir awaiter'ın arabirim yöntemlerini uygulaması ve INotifyCompletion.OnCompleted yeniden başlatma temsilcisinin en fazla bir kez çağrılmasına neden olmadığında kapsayan zaman uyumsuz işlevin davranışı (ICriticalNotifyCompletion.UnsafeOnCompleted).
  2. İşaretçileri başvuru veya çıkış parametresi olarak geçirme (§24.3).
  3. Bir işaretçi türünün başka bir işaretçi türüne dönüştürülmesinin sonucunun başvurusu kaldırıldığında ve sonuçta elde edilen işaretçi işaret edilen tür için doğru hizalanmamışsa. (§24.5.1).
  4. Birli * işleç geçersiz değer içeren bir işaretçiye uygulandığında (§24.6.2).
  5. Sınır dışı bir öğeye (§24.6.4) erişmek için bir işaretçi alt simgeye eklendiğinde.
  6. Yönetilen türdeki nesneleri sabit işaretçiler aracılığıyla değiştirme (§24.7).
  7. stackalloc tarafından yeni ayrılan belleğin içeriği (§12.8.22).
  8. stackalloc kullanarak negatif sayıda öğe ayırmayı deniyor (§12.8.22).
  9. Değer bağımsız değişkenleri (§12.6.4.2) ile giriş parametrelerinin örtük dinamik dönüştürmeleri (§10.2.10).

B.3 Uygulama tanımlı davranış

Bu alt dalda listelenen alanların her birinde davranış seçimini belgeleyebilmek için uyumlu bir uygulama gereklidir. Aşağıdakiler uygulama tanımlıdır:

  1. Derleme biriminde Unicode NULL karakterinin (U+0000) işlenmesi. (§6.1)
  2. Normalleştirme Formu C'de olmayan bir tanımlayıcıyla karşılaşıldığında davranış. (§6.4.3)
  3. içinde Decimal_Digit+için PP_Line_Indicator izin verilen en büyük değer. (§6.5.8)
  4. #pragma yönergesinin pp_pragma metnindeki input_characters yorumu. (§6.5.10)
  5. Uygulama başlatmadan önce konak ortamı tarafından 'a Main geçirilen tüm uygulama parametrelerinin değerleri. (§7.1)
  6. Bir programın sınıf kitaplığı olarak mı yoksa uygulama olarak mı derlenmiş olduğunu belirleme mekanizması. (§7.1)
  7. Uygulama etki alanlarının oluşturulması ve yok edilmesi için bir uygulama tarafından kullanılan ilke veya mekanizmalar. (§7.1)
  8. Geçerli giriş noktası yöntemi bir özel durum nedeniyle sonlanırsa çıkış kodu. (§7.2)
  9. Sonlandırıcıların uygulama sonlandırmanın bir parçası olarak çalıştırılıp çalıştırılmayacağı. (§7.2)
  10. API'lerin sonlandırıcının birden çok kez çalıştırılmasına izin verip vermediği. (§7.9)
  11. Sonlandırıcıların uygulama sonlandırmanın bir parçası olarak çalıştırılıp çalıştırılmayacağı. (§7.9)
  12. tarafından sağlanan Expression<TDelegate> API yüzeyi, bir Compile yöntem gereksiniminin ötesindedir. (§8.6)
  13. Anonim bir işlev ifade ağacına dönüştürüldüğünde, ifade ağacının tam yapısı ve bunu oluşturma işlemi. (§10.7.3)
  14. Uyumlu bir temsilci türüne dönüştürmenin derleme zamanında başarısız olmasının nedeni. (§10.7.3)
  15. Sıfır boyutundaki bir yığın ayırması yapıldığında döndürülen değer. (§12.8.22)
  16. System.ArithmeticException Bir bağlam içinde unchecked ve bir tamsayı bölümünün sol işleneni en büyük negatif int veya değer olduğunda ve sağ işlenen ise, bir (veya alt sınıfın) oluşturulursa veya long taşması raporlanmazsa, sonuçta elde edilen değer sol işlenenin değeri olur–1. (§12.12.3)
  17. Ondalık kalan işlem gerçekleştirilirken bir System.ArithmeticException (veya alt sınıfı) oluşturulduğunda. (§12.12.4)
  18. bir iş parçacığının özel durum için işleyicisi olmadığında ve iş parçacığının kendisi sonlandırıldığında iş parçacığı sonlandırmanın etkisi. (§13.10.6)
  19. Dış yönteme bağlantı elde edilen mekanizma. (§15.6.8)
  20. Bir özel durum için eşleşen catch yan tümce bulunamadığında iş parçacığı sonlandırmanın etkisi ve bu iş parçacığını ilk başlatan koda ulaşılır. (§22.4).
  21. Yürütme ortamı, C# programının yürütülmesini etkileyen ek öznitelikler sağlayabilir. (§23.5.1)
  22. İşaretçiler ve tamsayılar arasındaki eşlemeler. (§24.5.1)
  23. Bir işaretçiye birli * işleci null uygulamanın etkisi. (§24.6.2)
  24. İşaretçi aritmetik işaretçi türünün etki alanı taştığında oluşan davranış. (§24.6.6, §24.6.7)
  25. Önceden tanımlanmış olmayan değer türleri için işlecin sonucu sizeof . (§24.6.9)
  26. Dizi ifadesi fixed ise veya dizide sıfır öğe varsa deyiminin davranışınull. (§24,7)
  27. Dize ifadesi ise deyiminin davranışıfixed.null (§24,7)

B.4 Belirtilmeyen davranış

  1. Bir nesne için sonlandırıcının (varsa) çalıştırıldığı zaman, nesne sonlandırılma için uygun hale geldikten sonra (§7.9).
  2. (true) gösterimi .
  3. Aralık dışı değerleri veya değerlerinden float bağlam içindeki double tam sayı türüne (unchecked) dönüştürürken sonucun değeri.
  4. Bir anonymous_method_expression üretilen temsilcinin tam hedef nesnesi ve hedef yöntemi (§10.7.2) içerir.
  5. Güvenli olmayan bağlam dışında dizilerin düzeni (§12.8.17.4).
  6. anonim işlevin bloğunu lambda_expression veya anonymous_method-ifadesi (§12.21.3) değerlendirme ve çağırma dışında yürütmenin herhangi bir yolu olup olmadığı.
  7. Statik alan başlatmanın tam zamanlaması (§15.5.6.2).
  8. Bir numaralandırıcı nesnesi çalışırken çağırmanın MoveNext sonucu (§15.15.5.2).
  9. Bir numaralandırıcı nesne, önceki, çalışan veya sonraki durumlarda yer aldığında Current erişiminin sonucu (§15.15.5.3).
  10. Bir numaralandırıcı nesnesi çalışır durumda olduğunda çağırmanın Dispose sonucu (§15.15.5.4).
  11. Birden çok bölümde bildirilen bir türün öznitelikleri, her bir parçanın (§23.3) öznitelikleri belirtilmeyen bir sırada birleştirilerek belirlenir.
  12. Üyelerin bir yapıya paketlenme sırası (§24.6.9).
  13. Sonlandırıcı yürütme sırasında bir özel durum oluşur ve bu özel durum yakalanmaz (§22.4).
  14. Birden fazla üye eşleşirse, bu üyenin uygulamasıdır I.M (§19.6.5).

B.5 Diğer sorunlar

  1. Kayan nokta ifade değerlendirmesinin tam sonuçları bir uygulamadan diğerine farklılık gösterebilir, çünkü bir uygulamanın bu tür ifadeleri gerekenden daha büyük bir aralık ve/veya duyarlık kullanarak değerlendirmesine izin verilir (§8.3.7).
  2. Belirli imzalar diğer programlama dilleri (§15.3.10) ile uyumluluk için ayrılmıştır.

Bilgilendirici metnin sonu.