Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Türlerle
- CS8343:
ref structsarabirimler uygulanamıyor - CS8344:
foreachdeyimi, izin verenref structbirref structveya tür parametresi olduğundan zaman uyumsuz veya yineleyici yöntemlerindeki numaralandırıcılar üzerinde çalışamaz. - CS8345: Alan veya otomatik uygulanan özellik, bir
ref structörneğin üyesi olmadığı sürece türünde olamaz. - CS9048:
scopedDeğiştirici yalnızca ref'ler veref structdeğerler için kullanılabilir. - CS9050: Bir
refalan öğesineref structbaşvuramaz. - CS9059: Başvuru alanı yalnızca bir başvuru yapısında bildirilebilir.
- CS9241: 'başvuru yapısı' zaten belirtilmiş.
- CS9242: 'allows' constraint yan tümcesi belirtilen son kısıtlama olmalıdır.
- CS9243: Diğer kısıtlamalardan bilinen bir tür parametresi için başvuru yapılarının sınıf olmasına izin verilemez.
- CS9244: Tür, genel tür veya yöntemde parametre olarak kullanmak için başvuru yapılarına izin veren bir
ref structveya tür parametresi olmayabilir. - CS9245: Tür, tür için
ref structarabirim üyesi uygulayamaz. - CS9246: Sanal olmayan örnek arabirimi üyesine başvuru yapısına izin veren bir tür parametresinde erişilemez.
- CS9247: foreach deyimi, başvuru yapısına izin veren bir tür parametresi olduğundan ve derleme zamanında uygulaması
IDisposablebilinmediğinden türün numaralandırıcılarında çalışamaz. - CS9267: Yineleyicinin öğe türü bir başvuru yapısı veya başvuru yapılarına izin veren bir tür parametresi olmayabilir
başvuru güvenliği ihlalleri
- CS8345: Alan veya otomatik uygulanan özellik, bir
ref structörneğin üyesi olmadığı sürece türünde olamaz. - CS9048:
scopedDeğiştirici yalnızca ref'ler veref structdeğerler için kullanılabilir. - CS9050: Bir
refalan öğesineref structbaşvuramaz. - CS9059: Bir
refalan yalnızca içinderef structbildirilebilir.
Bir ref struct tür alanları içerebilir ref . Diğer türlere izin verilmez ref . Derleyici, herhangi bir ref struct türdeki örneklerde başvuru güvenliği kurallarını zorunlu kılmak için bildirimleri ve türlerin kullanımını ref struct kısıtlamalarını zorunlu kılar:
- Yalnızca
ref structtürler otomatik olarak uygulananrefözellikler içerebilir. - Yalnızca
ref structtürler veyarefdeğişkenler değiştiriciyescopedsahip olabilir. - Bir
refalan yalnızca birref structtürde bildirilebilir. - Alan
refbir türeref structbaşvuramaz/
Bu kurallardan herhangi birinin ihlali, listelenen hatalardan birini oluşturur. Bu dil özelliğini kullanmayı amaçladıysanız, türünü olarak ref structdönüştürün. Aksi takdirde, izin verilmeyen yapıyı kaldırın.
başvuru yapısı arabirim uygulamaları
- CS8343:
ref structsarabirimler uygulanamıyor - CS8344:
foreachdeyimi, izin verenref structbirref structveya tür parametresi olduğundan zaman uyumsuz veya yineleyici yöntemlerindeki numaralandırıcılar üzerinde çalışamaz. - CS9241: 'başvuru yapısı' zaten belirtilmiş.
- CS9242: 'allows' constraint yan tümcesi belirtilen son kısıtlama olmalıdır.
- CS9243: Diğer kısıtlamalardan bilinen bir tür parametresi için başvuru yapılarının sınıf olmasına izin verilemez.
- CS9244: Tür, genel tür veya yöntemde parametre olarak kullanmak için başvuru yapılarına izin veren bir
ref structveya tür parametresi olmayabilir. - CS9245: Tür, tür için
ref structarabirim üyesi uygulayamaz. - CS9246: Sanal olmayan örnek arabirimi üyesine başvuru yapısına izin veren bir tür parametresinde erişilemez.
- CS9247: foreach deyimi, başvuru yapısına izin veren bir tür parametresi olduğundan ve derleme zamanında uygulaması
IDisposablebilinmediğinden türün numaralandırıcılarında çalışamaz. - CS9267: Yineleyicinin öğe türü bir başvuru yapısı veya başvuru yapılarına izin veren bir tür parametresi olmayabilir
C# 13'e başlamadan önce türler ref struct arabirimleri uygulayamaz; derleyici CS8343 oluşturur. C# 13'le başlayarak, ref struct türler aşağıdaki kurallara tabi olan arabirimleri uygulayabilir:
- A
ref struct, uyguladığı bir arabirimin örneğine dönüştürülemez. Bu kısıtlama, parametre bir arabirim türü olduğunda bağımsız değişken olarak birref structtür kullandığınızda örtük dönüştürmeyi içerir. Dönüştürme, başvuru güvenliğini ihlal eden bir kutulama dönüştürmesine neden olur. - Bir
ref structarabirim uygulayan tüm arabirim üyelerini uygulamalıdır . ,ref structarabiriminin varsayılan bir uygulama içerdiği üyeleri uygulamalıdır.
C# 13'le başlayarak, ref struct genel tür parametresinde kısıtlama önleme varsa ve varsa, genel tür parametresi allows ref struct için tür bağımsız değişkeni olarak kullanılabilir. Kısıtlama önlemeyi allows ref struct kullandığınızda şu kurallara uymanız gerekir:
- A
ref struct, tür bağımsız değişkeni olarak kullanılır, tür parametresinde kısıtlama önleme bulunmalıdırallows ref struct.- Kısıtlamaallows ref structönleme, bu parametreninwhereyan tümcesinde son olmalıdır - Tür parametresinin başvuru güvenliği kurallarına uyması gereken örneklerin kullanımları.
- Tür
ref structolabilecek birref structveya türü bağımsız değişkeni, yineleyici yöntemi için öğe türü olarak kullanılamaz.