Tür ve üye bildirimleriyle partial ilgili hatalar ve partial uyarılar

partial türü ve partial üye bildirimleriyle ilgili aşağıdaki hatalarla karşılaşabilirsiniz:

  • CS0260: Türün bildiriminde kısmi değiştirici eksik; bu türün başka bir kısmi bildirimi var
  • CS0261: Türün kısmi bildirimleri tüm sınıflar, tüm yapılar veya tüm arabirimler olmalıdır
  • CS0262: Türün kısmi bildirimleri çakışan erişilebilirlik değiştiricilerine sahip
  • CS0263: Türün kısmi bildirimleri farklı temel sınıflar belirtmemelidir
  • CS0264: Türün kısmi bildirimleri aynı sırada aynı tür parametre adlarına sahip olmalıdır
  • CS0265: Türün kısmi bildirimlerinin 'type parameter' tür parametresi için tutarsız kısıtlamaları vardır
  • CS0267: 'partial' değiştiricisi yalnızca '', 'class', 'record', 'structinterface' veya bir yöntem veya özellik dönüş türünden hemen önce görünebilir.
  • CS0282: Kısmi sınıfın veya 'tür' yapısının birden çok bildirimindeki alanlar arasında tanımlı sıralama yoktur. Bir sıralama belirtmek için tüm örnek alanlarının aynı bildirimde olması gerekir.
  • CS0501: 'member function', , abstractveya olarak işaretlenmediğinden externbir gövde bildirmelidirpartial
  • CS0750: Kısmi bir üye 'abstract' değiştiricisine sahip olamaz.
  • CS0751: Kısmi üyenin kısmi veya kısmi class olarak bildirilmesi gerekir struct
  • CS0754: Kısmi bir üye açıkça bir arabirim yöntemi uygulamayabilir.
  • CS0755: Her iki kısmi yöntem bildirimi de uzantı yöntemleri olmalıdır veya uzantı yöntemi olmayabilir.
  • CS0756: Kısmi bir yöntemin birden çok tanımlayıcı bildirimi olmayabilir.
  • CS0757: Kısmi bir yöntemin birden çok uygulayan bildirimi olmayabilir.
  • CS0759: Kısmi yöntemin bildirimini uygulamak için tanımlayıcı bildirim bulunamadı.
  • CS0761: Kısmi yöntem bildirimlerinin method<T> tutarsız tür parametresi kısıtlamaları vardır.
  • CS0762: Uygulama bildirimi olmadan kısmi bir yöntem olduğundan yöntemden temsilci oluşturulamıyor
  • CS0763: Her iki kısmi yöntem bildirimi de olmalıdır static veya hiçbiri olmayabilir static.
  • CS0764: Her iki kısmi yöntem bildirimi de olmalıdır unsafe veya hiçbiri olmayabilir unsafe
  • CS1067: Kısmi bildirimlerin aynı sırada aynı tür parametre adları ve varyans değiştiricileri olmalıdır.
  • CS8142: Her iki kısmi üye bildirimi de aynı tanımlama grubu öğesi adlarını kullanmalıdır.
  • CS8663: Her iki kısmi üye bildirimi de salt okunur olmalıdır veya hiçbiri salt okunur olmayabilir
  • CS8796: Kısmi yöntemin geçersiz dönüş türü olduğundan erişilebilirlik değiştiricileri olmalıdır.
  • CS8795: Erişilebilirlik değiştiricileri olduğundan kısmi üyenin bir uygulama parçası olmalıdır.
  • CS8797: Kısmi yöntemin 'out' parametreleri olduğundan erişilebilirlik değiştiricileri olmalıdır.
  • CS8798: Kısmi yöntemin '', 'virtual', '', 'override', 'sealed' veya 'newextern' değiştiricisi olduğundan erişilebilirlik değiştiricileri olmalıdır.
  • CS8799: Her iki kısmi üye bildiriminin de aynı erişilebilirlik değiştiricileri olmalıdır.
  • CS8800: Her iki kısmi üye bildirimi de virtualaynı , , overridesealedve new değiştirici birleşimlerine sahip olmalıdır.
  • CS8817: Her iki kısmi yöntem bildirimi de aynı dönüş türüne sahip olmalıdır.
  • CS8818: Kısmi üye bildirimlerinin eşleşen ref dönüş değerleri olmalıdır.
  • CS8863: Yalnızca tek bir kısmi tür bildiriminin parametre listesi olabilir
  • CS8988: scoped Parametre değiştiricisi kısmi tanımla eşleşmiyor.
  • CS9248: Kısmi özelliğin uygulama bölümü olmalıdır.
  • CS9249: Kısmi özelliğin bir tanım bölümü olmalıdır.
  • CS9250: Kısmi bir özelliğin birden çok tanımlayıcı bildirimi olmayabilir ve otomatik özellik olamaz.
  • CS9251: Kısmi bir özelliğin birden çok uygulayan bildirimi olmayabilir
  • CS9252: Özellik erişimcisi tanım bölümünde bildirildiği için uygulanmalıdır
  • CS9253: Özellik erişimcisi tanım bölümünde bildirilen hiçbir erişimciyi uygulamaz
  • CS9254: Özellik erişimcisi tanım bölümüyle eşleşmelidir
  • CS9255: Her iki kısmi özellik bildirimi de aynı türe sahip olmalıdır.
  • CS9256: Kısmi özellik bildirimlerinin imza farklılıkları vardır.
  • CS9257: Her iki kısmi özellik bildirimi de gerekli olmalı veya gerekli olmayabilir
  • CS9275: Kısmi üyenin uygulama bölümü olmalıdır.
  • CS9276: Kısmi üyede bir tanım kısmı olmalıdır.
  • CS9277: Kısmi üyenin birden çok tanımlayıcı bildirimi olmayabilir.
  • CS9278: Kısmi üyenin birden fazla uygulayan bildirimi olmamalıdır.
  • CS9279: Kısmi olay başlatıcıya sahip olamaz.
  • CS9280: Yalnızca kısmi bir oluşturucunun uygulayan bildirimi bir başlatıcıya sahip olabilir.

Aşağıdaki bölümlerde bu hataların ve uyarıların nedeni ve düzeltmeleri açıklanmaktadır.

Kısmi türler

  • CS0260: Türün bildiriminde kısmi değiştirici eksik; bu türün başka bir kısmi bildirimi var
  • CS0261: Türün kısmi bildirimleri tüm sınıflar, tüm yapılar veya tüm arabirimler olmalıdır
  • CS0262: Türün kısmi bildirimleri çakışan erişilebilirlik değiştiricilerine sahip
  • CS0263: Türün kısmi bildirimleri farklı temel sınıflar belirtmemelidir
  • CS0264: Türün kısmi bildirimleri aynı sırada aynı tür parametre adlarına sahip olmalıdır
  • CS0265: Türün kısmi bildirimlerinin 'type parameter' tür parametresi için tutarsız kısıtlamaları vardır
  • CS0267: 'partial' değiştiricisi yalnızca '', 'class', 'record', 'structinterface' veya bir yöntem veya özellik dönüş türünden hemen önce görünebilir.
  • CS8863: Yalnızca tek bir kısmi tür bildiriminin parametre listesi olabilir

Kısmi tür bildiriminiz derleyicinin aşağıdaki uyarıyı yaymasına neden olabilir:

  • CS0282: Birden çok kısmi class veya struct 'tür' bildirimindeki alanlar arasında tanımlı sıralama yoktur. Bir sıralama belirtmek için tüm örnek alanlarının aynı bildirimde olması gerekir.

Kısmi tür bildirimleriniz kısmi türler için kuralları ihlal ettiğinde bu hatalar oluşur.

  • partial Bir türü birden çok bildirime böldükten sonra her bölümün anahtar sözcüğünü (CS0260) içermesi gerektiğinden, değiştiriciyi türün tüm bildirimlerine ekleyin.
  • Tüm bildirimlerin aynı tür anahtar sözcüğünü kullandığından emin olun, çünkü aynı türün farklı bölümlerinde class, struct, record ve interface karıştırılması (CS0261) izin verilmez. Farklı bildirimlerde çakışan erişilebilirlik türün hedeflenen görünürlüğü (public) hakkında belirsizlik oluşturduğundan, tüm bildirimler arasında tüm bölümleri internal veya tüm bölümleri yapma gibi tutarlı erişim değiştiricileri sağlamanız gerekir.
  • Bir tür yalnızca bir temel sınıftan devralabildiğinden, birden çok farklı temel sınıf çakışması (CS0263) nedeniyle tüm bildirimlerin aynı temel sınıfı belirttiğini doğrulayın.
  • Genel kısmi türler için tüm bildirimlerin aynı tür parametreleri aynı sırada listelediğinden emin olun çünkü tür parametre adları tüm parçalar arasında tam olarak eşleşmelidir (CS0264).
  • Tür parametrelerindeki kısıtlamaların tüm bildirimlerde tutarlı olduğunu doğrulayın, çünkü tutarsız kısıtlamalar tür parametreleri için hangi türlerin kullanılabileceğini belirsiz hale gelebilir (CS0265).
  • Dil sözdizimi bu özel sıralamayı (CS0267) gerektirdiğinden, partial anahtar kelimesini, tür anahtar kelimesinden (class, record, struct veya interface) hemen önce yerleştirin.
  • Birden çok birincil oluşturucu, kullanılacak oluşturucu parametreleri ve başlatma mantığı (CS8863) konusunda çakışacağından, birincil oluşturucuyu yalnızca bir kısmi bildirimde bildirin.

Kısmi yapı türü için birden çok dosyadaki alanları bildirdiğinizde, bellek düzeni sırası önemliyse tüm alan bildirimlerini tek bir dosyada birleştirmeniz gerekir çünkü alanlar birden çok dosyaya bölünürken derleyici belirli bir sıralamayı garanti etmez (CS0282). Alternatif olarak, düzen sırası önemli değilse, çalışma zamanının düzeni otomatik olarak optimize etmesine izin vermek için System.Runtime.InteropServices.StructLayoutAttribute ile LayoutKind.Auto değerini uygulayabilirsiniz.

Kısmi üyeler

  • CS0750: Kısmi bir üye 'abstract' değiştiricisine sahip olamaz.
  • CS0751: Kısmi üyenin kısmi veya kısmi class olarak bildirilmesi gerekir struct
  • CS0754: Kısmi bir üye açıkça bir arabirim yöntemi uygulamayabilir.
  • CS0763: Her iki kısmi yöntem bildirimi de olmalıdır static veya hiçbiri olmayabilir static.
  • CS0764: Her iki kısmi yöntem bildirimi de olmalıdır unsafe veya hiçbiri olmayabilir unsafe
  • CS8142: Her iki kısmi üye bildirimi de aynı tanımlama grubu öğesi adlarını kullanmalıdır.
  • CS8663: Her iki kısmi üye bildirimi de salt okunur olmalıdır veya hiçbiri salt okunur olmayabilir
  • CS8799: Her iki kısmi üye bildiriminin de aynı erişilebilirlik değiştiricileri olmalıdır.
  • CS8800: Her iki kısmi üye bildirimi de virtualaynı , , overridesealedve new değiştirici birleşimlerine sahip olmalıdır.
  • CS8818: Kısmi üye bildirimlerinin eşleşen ref dönüş değerleri olmalıdır.
  • CS8988: scoped Parametre değiştiricisi kısmi tanımla eşleşmiyor.
  • CS9275: Kısmi bir üyenin bir uygulama kısmı bulunmalıdır.
  • CS9276: Kısmi üyenin tanım bölümü olmalıdır.
  • CS9277: Kısmi üyenin birden çok tanımlayıcı bildirimi olmayabilir.
  • CS9278: Kısmi üyenin birden fazla uygulama bildirimine sahip olmasına izin verilmez.

Kısmi üye bildirimleriniz kısmi yöntemler, özellikler, dizin oluşturucular ve olaylar için kuralları ihlal ettiğinde bu hatalar oluşur.

  • abstract Soyut üyeler uygulama sağlamak için türetilmiş sınıflar gerektirdiğinden değiştiriciyi kısmi üyelerden kaldırın. Bu gereksinim, uygulamanın uygulama bildiriminde (CS0750) sağlandığı kısmi üye deseniyle çakşıyor.
  • Kısmi üyeler yalnızca kısmi türlerde (partial) bulunabileceğinden, değiştiriciyi içeren bir tür içinde kısmi üyeleri bildirin.
  • İki parçalı bildirim deseni açık arabirim uygulama söz dizimi (CS0754) ile uyumlu olmadığından, kısmi üyelerden açık arabirim uygulamalarını kaldırın.
  • Her iki bildirimde de static değiştiricisini tutarlı bir şekilde ekleyin veya devre dışı bırakın, çünkü statik ve örnek üye bildirimlerinin karıştırılması, üyenin nasıl çağrılacağı konusunda belirsizlik (CS0763) yaratır.
  • Tutarsız güvenli olmayan bağlamlar güvenlik sorunları veya unsafe derleme hataları (CS0764) oluşturabileceğinden, değiştiriciyi her iki bildirime de tutarlı bir şekilde ekleyin veya atlayabilirsiniz.
  • Her iki bildirimde de aynı örtüşen öğe adlarını kullanın, çünkü farklı adlar, kodun kullanımı sırasında hangi adların kullanılabildiği konusunda karışıklık yaratabilir (CS8142).
  • Salt okunur ve salt okunur olmayan bildirimlerin karıştırılması, üyenin readonly örnek durumunu değiştirip değiştiremeyeceği (CS8663) konusunda belirsizlik oluşturduğundan, değiştiriciyi her iki bildirime de tutarlı bir şekilde ekleyin veya çıkarın.
  • Üyenin görünürlüğü (public) konusunda farklı erişilebilirlik düzeyleri çakışacağından, her iki bildirimde de aynı erişilebilirlik değiştiricilerini (, privateprotectedinternalveya ) kullanın.
  • Her iki bildirime de , virtual, overrideve sealed değiştiricilerinin newaynı bileşimini uygulayın, çünkü bu değiştiriciler devralma ve çok biçimlilik davranışını denetler ve tutarlı olmalıdır (CS8800).
  • Her iki bildirimde de eşleşen ref dönüş değiştiricileri kullanın, çünkü tutarsız referansla dönüş davranışı tür güvenliği sorunları (CS8818) oluşturur.
  • Değiştiriciyi scoped her iki bildirimdeki parametrelere tutarlı bir şekilde uygulayın çünkü bu değiştirici, başvuru parametrelerinin ömrünü denetler ve bellek güvenliğini sağlamak için eşleşmelidir (CS8988).
  • Tanımlama bildirimi olan her kısmi üye için bir uygulama bildirimi sağlayın çünkü kısmi üyeler her iki bölümün de tamamlanmasını gerektirir (CS9275, CS9276).
  • Birden çok bildirim hangi tanımın veya uygulamanın kullanılacağı konusunda belirsizlik (CS9277, CS9278) oluşturacağından, her kısmi üyenin tam olarak bir tanımlama bildirimine ve bir uygulayan bildirime sahip olduğundan emin olun.

Kısmi yöntemler

  • CS0501: 'member function', , abstractveya olarak işaretlenmediğinden externbir gövde bildirmelidirpartial
  • CS0755: Her iki kısmi yöntem bildirimi de uzantı yöntemleri olmalıdır veya uzantı yöntemi olmayabilir.
  • CS0756: Kısmi bir yöntemin birden çok tanımlayıcı bildirimi olmayabilir.
  • CS0757: Kısmi bir yöntemin birden çok uygulayan bildirimi olmayabilir.
  • CS0759: Kısmi yöntemin bildirimini uygulamak için tanımlayıcı bildirim bulunamadı.
  • CS0761: Kısmi yöntem bildirimlerinin method<T> tutarsız tür parametresi kısıtlamaları vardır.
  • CS0762: Uygulama bildirimi olmadan kısmi bir yöntem olduğundan yöntemden temsilci oluşturulamıyor
  • CS1067: Kısmi bildirimlerin aynı sırada aynı tür parametre adları ve varyans değiştiricileri olmalıdır.
  • CS8796: Kısmi yöntemin geçersiz dönüş türü olduğundan erişilebilirlik değiştiricileri olmalıdır.
  • CS8795: Erişilebilirlik değiştiricileri olduğundan kısmi üyenin bir uygulama parçası olmalıdır.
  • CS8797: Kısmi yöntemin 'out' parametreleri olduğundan erişilebilirlik değiştiricileri olmalıdır.
  • CS8798: Kısmi yöntemin '', 'virtual', '', 'override', 'sealed' veya 'newextern' değiştiricisi olduğundan erişilebilirlik değiştiricileri olmalıdır.
  • CS8817: Her iki kısmi yöntem bildirimi de aynı dönüş türüne sahip olmalıdır.

Bu hatalar , kısmi yöntem bildirimleriniz kısmi yöntemlerin kurallarını ihlal ettiğinde oluşur.

  • Değiştiriciyi partial yöntem bildirimine ekleyin veya bir yöntem gövdesi sağlayın çünkü uygulamasız yöntemlerin , abstractveya extern (partial) olarak işaretlenmesi gerekir.
  • Uzantı ve uzantı olmayan bildirimlerin karıştırılması uyumsuz yöntem imzaları (this) oluşturduğundan, her iki bildirimin de uzantı yöntemi söz dizimini (ilk parametrede değiştirici) tutarlı bir şekilde içerdiğinden veya atladığından emin olun.
  • Her kısmi yöntemin tek bir tanımı (CS0756) olabileceğinden yinelenen tanımlama bildirimlerini (yöntem gövdesi olmayan bildirimler) kaldırın.
  • Her kısmi yöntemin tek bir uygulaması (CS0757) olabileceğinden yinelenen uygulama bildirimlerini (yöntem gövdelerine sahip bildirimler) kaldırın.
  • Gövdeye sahip her kısmi yöntemin gövdesi olmayan eşleşen bir imza bildirimine (CS0759) sahip olması gerektiğinden, her uygulama bildirimi için karşılık gelen bir tanımlama bildirimi ekleyin.
  • Tür parametresi kısıtlamalarının her iki bildirimde de eşleştiğinden emin olun çünkü tutarsız kısıtlamalar, genel yöntem (CS0761) için geçerli olan türler hakkında belirsizlik oluşturur.
  • Yöntemden bir temsilci oluşturmadan önce bir uygulama bildirimi sağlayın, çünkü temsilciler bir yönteme başvurabilmek için somut bir yöntem uygulamasına ihtiyaç duyar (CS0762).
  • Genel kısmi yöntemler için, eşleşmeyen genel imzalar uyumsuz yöntem bildirimleri (CS1067) oluşturduğundan, her iki bildirimin de aynı tür parametre adlarını ve varyans değiştiricilerini aynı sırada kullandığından emin olun.
  • Geçersiz olmayan kısmi yöntemlerin diğer kodlardan (CS8796) çağrılabilmesi için tanımlı erişilebilirliğe sahip olması gerektiğinden, yöntem void olmayan bir tür döndürdüğünde açık erişilebilirlik değiştiricileri (public, private, protected, veya internal gibi) ekleyin.
  • Erişilebilirlik değiştiricileri belirtildiğinde bir uygulama bildirimi sağlayın çünkü erişilebilirlik kısmi yöntemlerinin çağrılabilmesi için uygulamaları olmalıdır (CS8795).
  • Yöntemin out parametreleri olduğunda açık erişilebilirlik değiştiricileri ekleyin çünkü out parametrelerine sahip yöntemlerin çağrılabilen (CS8797) tanımlanmış erişilebilirliğe sahip olması gerekir.
  • , , virtual, override, sealedveya new değiştiricilerini kullanırken externaçık erişilebilirlik değiştiricileri ekleyin çünkü bu değiştiriciler yöntem görünürlüğünü etkiler ve açık erişilebilirlik belirtimi (CS8798) gerektirir.
  • Farklı dönüş türleri uyumsuz yöntem imzaları (CS8817) oluşturduğundan her iki bildirimin de aynı dönüş türünü belirttiğinden emin olun.

Kısmi özellikler

  • CS9248: Kısmi özelliğin uygulama bölümü olmalıdır.
  • CS9249: Kısmi özelliğin bir tanım bölümü olmalıdır.
  • CS9250: Kısmi bir özelliğin birden çok tanımlayıcı bildirimi olmayabilir ve otomatik özellik olamaz.
  • CS9251: Kısmi bir özelliğin birden çok uygulayan bildirimi olmayabilir
  • CS9252: Özellik erişimcisi tanım bölümünde bildirildiği için uygulanmalıdır
  • CS9253: Özellik erişimcisi tanım bölümünde bildirilen hiçbir erişimciyi uygulamaz
  • CS9254: Özellik erişimcisi tanım bölümüyle eşleşmelidir
  • CS9255: Her iki kısmi özellik bildirimi de aynı türe sahip olmalıdır.
  • CS9257: Her iki kısmi özellik bildirimi de gerekli olmalı veya gerekli olmayabilir

Kısmi özellik veya dizin oluşturucu bildiriminiz derleyicinin aşağıdaki uyarıyı yaymasına neden olabilir:

  • CS9256: Kısmi özellik bildirimlerinin imza farklılıkları vardır.

Bu hatalar ve uyarılar , kısmi özellik veya dizin oluşturucu bildirimleriniz kısmi özelliklere yönelik kuralları ihlal ettiğinde oluşur.

  • Kısmi özelliklerin her iki kısmının da tamamlanması gerektiğinden, her kısmi özellik tanımlama bildirimi için bir uygulama bildirimi sağlayın (CS9248).
  • Her uygulamanın karşılık gelen bir tanımı (CS9249) olması gerektiğinden, bildirim uygulayan her kısmi özellik için bir tanımlama bildirimi sağlayın.
  • Yinelenen tanımlama bildirimlerini kaldırın ve uygulama bildiriminde otomatik özellik söz dizimini kullanmaktan kaçının çünkü her kısmi özelliğin tek bir tanımı olabilir ve uygulamanın açık erişimci gövdeleri (CS9250) içermesi gerekir.
  • Her kısmi özelliğin tek bir uygulaması (CS9251) olabileceği için yinelenen uygulama bildirimlerini kaldırın.
  • Uygulama bildiriminin tanımda (CS9252) belirtilen her erişimci (get, set veya init) için gövdeler sağlaması gerektiğinden, tanımlama bildiriminde bildirilen tüm erişimcileri uygulayın.
  • Yalnızca tanım bölümünde (CS9253) bildirilen erişimcileri uygulayabileceğinizden, tanımlama bildiriminde bildirılmamış erişimcileri uygulama bildiriminden kaldırın.
  • Tutarsız erişimci tanımları uyumsuz özellik bildirimleri (CS9254) oluşturduğundan, erişimci türü (get, set veya init) ve herhangi bir değiştirici de dahil olmak üzere her iki bildirim arasında erişimci imzalarının eşleştiğinden emin olun.
  • Farklı türler uyumsuz özellik imzaları (CS9255) oluşturduğundan, her iki bildirimin de aynı özellik türünü belirttiğinden emin olun.
  • Özelliğin başlatılması gerekip gerekmediği konusunda belirsizlik oluştuğundan (CS9257), her iki bildirimin de required değiştiricisini tutarlı bir şekilde içerdiğinden veya içermediğinden emin olun.
  • Bildirimde bulunma ve uygulama bildirimleri arasındaki imza uyuşmazlıklarını gözden geçirin ve düzeltin çünkü erişilebilirlik değiştiricileri, dönüş türleri veya parametre listelerindeki farklılıklar (dizin oluşturucular için) beklenmeyen davranışlara (CS9256) neden olabilir.

Kısmi olaylar ve oluşturucular

  • CS9279: Kısmi olay başlatıcıya sahip olamaz.
  • CS9280: Yalnızca kısmi bir oluşturucunun uygulama bildirimi bir başlatıcıya sahip olabilir.

Kısmi bir oluşturucunun tanımlama bildiriminde veya kısmi bir olay bildiriminde başlatıcı bildirdiniz. Başlatıcıyı kaldırın.