CheckId Tarafından Yönetilen Kod için Kod Analizi Uyarıları

 

Visual Studio 2017 RC ile ilgili en son belgeler için bkz. Visual Studio 2017 RC Belgeleri.

Aşağıdaki tablo uyarının CheckId tanımlayıcısı tarafından yönetilen kodu için Kod Çözümleyicisi uyarılarını listeler.

CheckIdUyarıAçıklama
CA1000CA1000: Genel türlerde statik üyeleri belirtmeGenel türün statik üyesi çağrıldığında tür bağımsız değişkeni tür için belirlenmelidir. Destek çıkarımı desteklenmeyen genel örnek üyesi çağrıldığında tür bağımsız değişkeni üye için belirlenmelidir. Bu iki durumda tür bağımsız değişkenini belirleyen sözdizimi farklıdır ve kolaylıkla karıştırılır.
CA1001CA1001: Atılabilir alanlara sahip olan türler atılabilir olmalıdırBir sınıf System.IDisposable tipi örnek alanını derler ve uygular ve sınıf IDisposable'ı uygulamaz. IDisposable alanını derleyen sınıf, yönetilmeyen kaynağı dolaylı yoldan sahiplenir ve IDisposable arayüzünü uygulamalıdır.
CA1002CA1002: Genel listeleri göstermeSystem.Collections.Generic.List<(Of <(T>)>) devralma için değil, performans için tasarlanmış bir genel koleksiyondur. Bu nedenle, Liste herhangi bir sanal üyeyi içermiyor. Bunun yerine devralma için tasarlanmış genel koleksiyonlar maruz kalmalıdır.
CA1003CA1003: Genel olay işleyici örnekleri kullanTip boş döndürülen, imzası iki parametre (birincisi nesne ve ikincisi EventArgs'a imza atabilen tip) içerir ve Microsoft .NET Framework 2.0'ı hedef alan derlemeyi içeren bir temsilci içerir.
CA1004CA1004: Genel yöntemler tür parametresi sağlamalıdırTip argümanının açıkça özelleştirilmesi yerine yöntemi geçen argüman tipiyle tanımlanan genel yöntemin nasıl tip argümanı olduğunun sonucudur. Çıkarımı etkinleştirmek için bir genel yöntem parametre imzası yöntem türü parametresi gibi aynı türde bir parametre içermelidir. Bu durumda, tip bağımsız değişkeninin belirtilmesine gerek yoktur. Tüm tip parametreleri için çıkarım kullanılırken, genel ve genel olmayan örnek yöntemleri için sözdüzümü benzerdir; bu genel yöntemlerin kullanımını kolaylaştırır.
CA1005CA1005: Genel türlerde aşırı parametrelerden kaçınınDaha çok tip parametresi, genel tip içerir, bilmek daha zordur ve hangi tip parametrelerinin temsil ettiğini anımsamak zordur. Bu genellikle <T> Listesi gibi tek tip parametre ile açıktır ve daha kesin durumlarda sözlükteki <TKey, TValue> gibi iki tip parametre içerir. Ancak, iki parametreden fazla parametre varsa, birçok kullanıcı için zorluk derecesi artar.
CA1006CA1006: Üye imzalarında genel türleri iç içe kullanmayınBir yuvalanmış bağımsız değişken aynı zamanda genel tip olan bir tip bağımsız değişkendir. Yuvalanmış tip bağımsız değişkeni içeren imzası olan bir üye çağırmak için, kullanıcı bir genel tipi örneklemeli ve bu tipi ikinci bir genel tipin yapıcısına geçirmelidir. Gerekli yordam ve sözdizimi karmaşıktır ve kaçınılmalıdır.
CA1007CA1007: Uygun yerlerde genel türler kullanınSystem.Object türünde bir başvuru parametresi dışarıdan görünen bir yöntem içerir. Bir genel yöntem kullanımı başvuru parametresi türünü ilk tür olarak atmadan yönteme aktarılan kısıtlamalar için tüm türleri ve konuları etkinleştirir.
CA1008CA1008: Numaralandırmalar sıfır değerine sahip olmalıdırTıpkı diğer türler gibi, başlatılmamış bir numaralandırmanın varsayılan değeri sıfırdır. İşaretlenmemiş bir geçerli numaralandırma, varsayılan değerin geçerli bir numaralandırma değeri olması için değeri sıfır olan bir üye tanımlaması gerekir. Numaralandırma FlagsAttribute özniteliği sıfır değerli üyeyi tanımlarsa, onun adı numaralandırmada hiçbir değerin ayarlanmadığı "Hiçbiri" olmalıdır.
CA1009CA1009: Olay işleyicilerini doğru bildirinOlay işleyicisi yöntemleri iki parametre alır. İlk System.Object türündedir ve "gönderen" olarak adlandırılır. Bu olayda oluşan nesnedir. İkinci parametre System.EventArgs türüdür ve "e" olarak adlandırılır. Bu olay ile ilişkilendirilmiş olan verilerdir. Olay işleyici yöntemlerine bir değer döndürmemelidir; C# programlama diliyle, dönüş türü boşluk tarafından belirtilir.
CA1010CA1010: Koleksiyonlar genel arabirim uygulamalıdırBir koleksiyon kullanılabilirliğini genişletmek için genel koleksiyon arabirimlerinden birini uygulayın. Daha sonra koleksiyon genel koleksiyon türlerini doldurmak için kullanılabilir.
CA1011CA1011: Temel türleri parametre olarak geçirmeyi düşününTemel tür yöntem bildiriminde parametre olarak belirtildiğinde temel türünden türetilen herhangi bir tür yöntemine karşılık gelen bağımsız değişken olarak geçirilebilir. Türetilmiş parametre türü tarafından sağlanan ek işlevler gerekmiyorsa, temel tür kullanımı yöntemi daha geniş kullanımını etkinleştirir.
CA1012CA1012: Soyut türlerde oluşturucular bulunmamalıdırSoyut türler üzerindeki kurucular yalnızca türetilen türler tarafından çağrılabilir. Ortak yapıcılar türün bir örneğini yaptığından ve siz bir soyut türün örneğini yapamayacağınızdan, soyut sınıf hatalı biçimde dizayn edilmiş ortak yapıcıya sahip olur.
CA1013CA1013: Eşittir işlecini ekleme ve çıkarmayı aşırı yükleyerek aşırı yükleyinBir genel ya da korumalı tür eşitlik imlecini uygulamadan ekleme ya da çıkarma işleçlerini uygular.
CA1014CA1014: Derlemeleri CLSCompliantAttribute ile işaretlemeOrtak Dil Tanımlaması (CLS) ad kısıtlamalarını, veri türlerini ve karşıt programlama dillerini kullanırsa derlemelerin uyması zorunlu olan kuralları tanımlar. İyi tasarım bütün derlemelerin CLSCompliantAttribute kullanarak CLS ile uyumunun belirlemesidir. Bu öznitelik bir derlemede yoksa, montaj uyumlu değildir.
CA1016CA1016: Derlemeleri AssemblyVersionAttribute ile işaretlemeBu .NET Framework derlemeyi benzersiz tanımlamada sürüm numarasını türleri güçlü derlemelere bağlamak için kullanır. Sürüm numarası, sürüm ve yayımcı ilkesi ile birlikte kullanılır. Varsayılan olarak uygulamalar yalnızca oluşturulmuş derleme sürümlerini çalıştırır.
CA1017CA1017: Derlemeleri ComVisibleAttribute ile işaretlemeComVisibleAttribute COM müşterilerinin yönetilen koda nasıl erişeceğini tanımlar. İyi tasarım derlemelerin açıkça COM görünürlüğünde gösterildiğini belirler. COM görünürlüğü tüm derleme için ayarlanabilir ve sonra bireysel tür ve tür üyeleri için geçersiz kılınabilir. Bu öznitelik yoksa, derleme içeriği COM istemcileri tarafından görülebilir.
CA1018CA1018: Öznitelikleri AttributeUsageAttribute ile işaretleyinÖzel öznitelik tanımladığınızda, AttributeUsageAttribute kullanarak özel öznitelik kaynak kodunun nerede uygulanabilir olduğunu göstermek için işaretleyin. Bir özniteliğin anlamı ve amaçlanan kullanımı, kodun içinde onun varolan konumunu tanımlar.
CA1019CA1019: Öznitelik bağımsız değişkenleri için erişimcileri tanımlayınÖznitelikler özniteliği işaretlediğinizde özelleştirilen zorunlu bağımsız değişkenleri tanımlayabilir. Ayrıca bunlar konum parametreleri olarak öznitelik yapıcısına verildiğinden duruma bağlı bağımsız değişkenler olarak da bilinirler. Zorunlu her bağımsız değişken için bağımsız değişkenin değeri yürütme zamanından alınması gerektiğinden öznitelik ilgili salt okunur özelliği de sağlamalıdır. Öznitelikler adlandırılmış bağımsız değişkenler olarak bilinen duruma bağlı bağımsız değişkenler olarak da tanımlanabilir. Bu bağımsız öznitelik oluşturucular ad tarafından sağlanır ve karşılık gelen bir okuma/yazma özelliğine sahip olmalıdır.
CA1020CA1020: Birkaç türü olan ad alanlarından kaçınınHer bir ad alanının kendi mantıksal düzenlemesi vardır ve seyrek doldurulmuş bir ad alanına türleri koymak için geçerli bir nedeni olduğundan emin olun.
CA1021CA1021: Out parametrelerinden kaçınınBaşvuruya ( out veya ref kullanarak ) göre türleri geçirmek işaretçi deneyimi gerektirir, değer türü ve referans türü arasındaki farkı ve işleme yöntemi ile birden çok değer döndürmeyi anlamak gerekir. Ayrıca, out ve ref parametreleri arasındaki fark açıkça anlaşılmadı.
CA1023CA1023: Dizin oluşturucular çok boyutlu olmamalıdırDizin oluşturucular (dizinlenmiş özellikleri) tek bir dizin kullanmalı. Çok boyutlu dizin oluşturucular kitaplığın kullanılabilirliğini önemli ölçüde azaltabilir.
CA1024CA1024: Uygun yerlerde özellikler kullanOrtak veya korumalı yöntem "Get" ile başlar, herhangi bir parametre almaz ve dizi olmayan bir değer döndüren adı vardır. Yöntem, özellik olmak için çok iyi bir aday olabilir.
CA1025CA1025: Tekrarlanan bağımsız değişkenleri params dizisi ile değiştirinParametre dizisini bağımsız değişkenin gerçek sayısı bilinmediğinde ve bağımsız değişkenler aynı türde olduğunda ya da aynı tür olarak geçirilebileceğinde bağımsız değişkenleri tekrarlamak için kullanın.
CA1026CA1026: Varsayılan parametreler kullanılmamalıdırVarsayılan parametreleri kullanma yöntemleri CLS altında izin verilir; ancak, CLS derleyicileri bu parametreler için atanmış değerleri gözardı etmeye olanak sağlar. Programlama dilleri arasında istediğiniz davranışı korumak için varsayılan parametreleri kullanan yöntemler varsayılan parametreleri sağlayan tekrar yüklenen yöntem tarafından değiştirilmelidir.
CA1027CA1027: Numaralandırmaları FlagsAttribute ile işaretleBir numaralandırma ilişkili adlandırılmış sabitler kümesini tanımlayan değer türüdür. Anlamsız olarak birleştirildiğinde numaralandırmaya FlagsAttribute özelliğini uygulayın.
CA1028CA1028: Numaralandırma depolaması Int32 olmalıdırBir numaralandırma ilişkili adlandırılmış sabitler kümesini tanımlayan değer türüdür. Varsayılan olarak, System.Int32 veri türü sabit değerleri depolamak için kullanılır. Bu temel türünü değiştirebilirsiniz, ancak bu önerilen bir senaryo değildir.
CA1030CA1030: Uygun yerlerde olaylar kullanınBu kural, normalde olaylar için kullanılan adlara sahip yöntemleri algılar. Yanıt olarak açıkça tanımlanmış bir durum değişikliği yöntemi çağrılırsa, olay işleyicisi tarafından yöntemin çağrılması gerekir. Yöntemi direkt olarak çağırmak yerine olayları yükselterek çağıran nesneler.
CA1031CA1031: Genel özel durum türlerini yakalamayınGenel özel durum yakalanmamalı. Daha özel istisnaları yakalayın ya da yakalama bloğundaki son durum olarak genel istisnaları yeniden fırlatın.
CA1032CA1032: Standart özel durum oluşturucuları uygulayınYapıcıların tüm ayarlamasını sağlamaktaki başarısızlık, istisnalarla başa çıkmayı zorlaştırabilir.
CA1033CA1033: Arabirim yöntemleri alt türler tarafından çağırılabilir olmalıdırAğzı açık dışarıdan görünen bir tür açık yöntem uygulaması ortak bir arabirim sağlar ve aynı ada sahip alternatif dışarıdan görünen bir yöntem sağlamaz.
CA1034CA1034: İç içe türler görünebilir olmamalıdırİç içe türü başka bir kapsamda bildirilen bir türdür. İç içe geçmiş türler, özel uygulama ayrıntılarını kapsayan türdeki kapsül oluşturma için kullanışlıdır. Bu amaçla kullanılan, iç içe türün dışarıdan görünür olmaması gerekir.
CA1035CA1035: ICollection uygulamalarında türü kesin olarak belirtilmiş üyeler olmalıdırBu kural ICollection uygulamalarına türü kesin belirlenmiş üyeler sağlamak için gereklidir, böylece kullanıcıların arabirim tarafından sağlanan işlevselliği kullandığı zaman, bağımsız değişkenleri Nesne türüne atamaları gerekli değildir. Bu kural, Nesneden daha güçlü tür örnekleri topluluğunu yöneteceğinden türün ICollection uyguladığını varsayar.
CA1036CA1036: Karşılaştırılabilir türlerde geçersiz kılma yöntemleriOrtak veya korumalı tür System.IComparable arabirimini uygular. Object.Equals ne etkisiz kılınabilir ne de eşitlik için olan özel dil işleciyle aşırı yüklenebilir, eşitsizlik durumu olabilir, daha küçülebilir ya da büyüyebilir.
CA1038CA1038: Numaralandırıcıların türü kesin olarak belirtilmelidirBu kural, kullanıcı arabirimi tarafından sağlanan işlevselliği kullandığınızda güçlü tür için dönen değer atama yapmak için gerekli değildir, ayrıca süregelen özelliğinin türü kesin belirlenmiş bir sürümünü sağlamak için IEnumerator uygulamaları gereklidir.
CA1039CA1039: Listelerin türü kesin olarak belirlenmiştirBu kural türü kesin belirlenmiş üyeler sağlamak için IList uygulamaları gerektirir böylece kullanıcıların arabirim tarafından sağlanan işlevselliği kullandığı zaman, bağımsız değişkenleri System.Object türüne atamaları gerekli değildir.
CA1040CA1040: Boş arabirimlerden kaçınınArayüzler bir davranış veya kullanım sözleşmesi sağlayan üyeleri tanımlar. Arabirim tarafından tanımlanan fonksiyonellik herhangi bir tür tarafından türün kalıtım hiyerarşisinde nerede belirdiği önemsenmeksizin devralınabilir. Tür arabirimin üyeleri için uygulamaları sağlayarak bir arayüz uygular. Boş bir arabirim herhangi bir üye tanımlamıyor; bu nedenle, uygulanabilir bir sözleşme tanımlamaz.
CA1041CA1041: ObsoleteAttribute iletisi sağlayınTür veya üye belirtilen kendi ObsoleteAttribute.Message özelliğine sahip olmayan bir System.ObsoleteAttribute özniteliği kullanılarak işaretlendi. Özniteliğin ileti özelliği, türü veya ObsoleteAttribute kullanılarak işaretlenmiş tür veya üye derlendiğinde görüntülenir. Bu eski türü veya üye kullanıcı bilgilerini sağlar.
CA1043CA1043: Dizin oluşturucular için tamsayı veya dize bağımsız değişkeni kullanınDizinle oluşturucular (dizinlenmiş özellikleri) dizin için integral veya dize türleri kullanılmalıdır. Bu türler, genellikle veri yapılarını dizinleme için kullanılır ve bunlar kitaplığın kullanılabilirliğini artırır. Nesne türünün kullanılması için belirli bir integral veya dize türü tasarım zamanında burada tarif edilemez, bu gibi durumlarda sınırlı tutulmalıdır.
CA1044CA1044: Özellikler salt yazılır olmamalıdırSalt okunur özelliğe sahip olmasına karşın kabul edilebilir ve genellikle gereklidir, tasarıma ilişkin yönergeler salt yazılır özellik kullanılmasını engeller. Bir kullanıcı değeri ayarlar ve sonra kullanıcı bu değeri görüntülemeyi engellerse bunun için herhangi bir güvenlik yoktur. Ayrıca, okuma erişimi olmadan, yararsız olduklarını sınırlayan paylaşılan nesnelerin durumu görüntülenemez.
CA1045CA1045: Türleri başvuruya göre geçirmeyinBaşvuruya ( out veya ref kullanarak ) göre türleri geçirmek işaretçi deneyimi gerektirir, değer türü ve referans türü arasındaki farkı ve işleme yöntemi ile birden çok değer döndürmeyi anlamak gerekir. Genel kitle için tasarlayan kütüphane mimarları, kullanıcılardan out ya da ref parametrelerini asıl düzeyde kullanmalarını beklememelidir.
CA1046CA1046: Başvuru türlerinde eşittir işleçlerini aşırı yüklemeyinBaşvuru türleri için, varsayılan eşitlik işleci neredeyse her zaman doğrudur. Varsayılan olarak, yalnızca aynı nesneye gelirseniz iki başvuru eşit olur.
CA1047CA1047: Korumalı türlerde korunan üyeleri bildirmeyinTürler, devralmasına erişebileceğiniz veya üyeyi geçersiz kılmak için korunan üyelerin türlerini bildirir. Tanım gereği, mühürlenmiş türler devralınamaz yani mühürlenmiş türler üzerindeki korunan yöntemler çağrılamaz.
CA1048CA1048: Korumalı türlerde sanal üyeleri bildirmeTürler yöntemi sanal olarak bildirir, böylece devralan türler sanal yöntemin uygulanmasını geçersiz kılabilir. Tanım gereği, mühürlenmiş bir tür devralınamaz. Bu, sanal yöntemi mühürlenmiş bir türde anlamsız hale getirir.
CA1049CA1049: Yerel kaynaklara sahip olan türler atılabilir olmalıdırYönetilmeyen kaynakların tahsis türlerini arayanların isteğine bağlı kaynakları serbest bırakmak ve kaynakları tutan nesnelerin yaşam sürelerini kısaltmak için etkinleştirmek üzere IDisposable gerçekleştirmelisiniz.
CA1050CA1050: Ad alanlarında türleri bildirinTürlerin ad çakışmalarını önlemek için ad alanlarını ve ilgili türü bir nesne sıradüzeni içinde düzenlemeniz için yöntem olarak bildirilir.
CA1051CA1051: Görünür örnek alanlarını bildirmeBir alanın birincil kullanım alanının uygulama ayrıntısı olması gerekir. Alanların özel veya iç olması gerekir ve özelliklerini kullanmaya maruz kalması gerekir.
CA1052CA1052: Statik tutucu türleri mühürlenmelidirOrtak veya korumalı tür yalnızca statik üyeleri içerir ve mühürlenmiş (C# Reference) (NotInheritable) değiştirici kullanarak bildirilmez. Devralınmayacak anlamına gelen tür mühürleme değiştirici kullanılarak basit tür gibi kullanılmak için işaretlenmelidir.
CA1053CA1053: Statik tutucu türlerinde oluşturucular bulunmamalıdırOrtak veya iç içe geçmiş ortak tür yalnızca statik üyeleri bildirir ve ortak veya korumalı varsayılan bir oluşturucu vardır. Statik üyeleri çağırma bir tür örneği gerektirmediğinden kurucu gereksizdir. Dize aşırı yüklemesi, emniyet ve güvenlik için dize bağımsız değişkeni kullanılarak tekdüzen kaynak tanımlayıcısı (URI) çağırmalıdır.
CA1054CA1054: URI parametreleri dizeler olmamalıdırBir yöntem URI'yı sunan bir dizeyi alırsa, bu hizmetleri sağlayan güvenli şekilde URI sınıfının bir örneğini alır, karşılık gelen aşırı olmalıdır.
CA1055CA1055: URI dönüş değerleri dizeler olmamalıdırBu kural, yöntemin URI döndürdüğünü varsayar. Bir URI'nın dize sunumu ayrıştırma ve hataları kodlama eğilimindedir ve güvenlik açıklarına yol açabilir. System.Uri sınıfı bu hizmetleri güvenli bir şekilde sağlar.
CA1056CA1056: URI özellikleri dizeler olmamalıdırBu kural, özelliğin Tekdüzen Kaynak Tanımlayıcısı (URI) tarafından temsil edildiğini varsayar. Bir URI'nın dize sunumu ayrıştırma ve hataları kodlama eğilimindedir ve güvenlik açıklarına yol açabilir. System.Uri sınıfı bu hizmetleri güvenli bir şekilde sağlar.
CA1057CA1057: Dize URI aşırı yüklemeleri System.Uri aşırı yüklemelerini çağırırBir tür sadece System.Uri parametresi ile dize parametresinin değiştirilmesiyle yöntem aşırı yüklemesini bildirir. Aşırı yüklemeler URI parametresiyle aşırı yüklenmiş olan dize parametresini alır.
CA1058CA1058: Türler belli temel türleri genişletmemelidirDışarıdan görünen tür belirli temel türleri genişletir. Diğer seçenekleri kullanın.
CA1059CA1059: Üyeler belli somut türleri göstermemelidirSomut tür tam bir uygulamaya sahiptir ve bu nedenle oluşturulabilecek bir türdür. Üye yaygın kullanımını etkinleştirmek için önerilen arabirimi kullanarak somut türünü değiştirin.
CA1060CA1060: P/Invokes öğesini NativeMethods sınıfına taşıyınPlatform Çağırma yöntemlerini System.Runtime.InteropServices.DllImportAttribute özniteliği veya Visual Basic içinde tanımlanan Declare anahtar sözcüğü kullanılarak tanımlanan yöntemleri kullanarak işaretlenenler gibi yönetilmeyen koda erişebilirsiniz. Bu yöntemler, NativeMethods, SafeNativeMethods veya UnsafeNativeMethods sınıfının üyesi olmalıdır.
CA1061CA1061: Taban sınıf yöntemlerini gizlemeyinBasit türdeki bir yöntem türetilmiş türdeki adlandırılmış yöntem tarafından gizlenmiştir, türetilmiş yöntemin parametre imzası yalnızca türetilmiş türleri ve karşılık gelen temel yöntemin parametre imzası daha zayıf türlerine göre farklı olduğunda temel türde bir yöntemin türetilmiş türle aynı adlı yöntem olarak gizlidir.
CA1062CA1062: Genel yöntemlerin bağımsız değişkenlerini doğrulayınDışarıdan görünen yöntemlerin null'a karşı denetlenmesi için geçirilen tüm başvuru bağımsız değişkenleri.
CA1063CA1063: IDisposable'ı doğru uygulayınTüm IDisposable türleri Dispose kalıbını doğru uygulamalıdır.
CA1064CA1064: Özel durumlar genel olmamalıdırBir iç özel durum yalnızca kendi iç kapsamı içinde görülebilir. İç kapsam dışında kalan özel durumlardan sonra, sadece basit istisnalar istisna yakalamak için kullanılabilir. İç özel durum T:System.Exception, T:System.SystemException veya T:System.ApplicationException devralmışsa harici kod özel durum için ne yapılacağı hakkında yeterli bilgiye sahip değildir.
CA1065CA1065: Beklenmedik konumlarda özel durumlar harekete geçirmeyinİstisna atılmasını beklemeyen yöntem bir istisna atar.
CA1300CA1300: MessageBoxOptions belirtmeDoğru olarak sağdan sola okuma düzeni kullanan kültürler için bir ileti kutusu görüntülemek için Show yöntemi MessageBoxOptions numaralandırma RightAlign ve RtlReading üyeleri geçirilmelidir.
CA1301CA1301: Yinelenen hızlandırıcılardan kaçınınGiriş anahtarı, bir hızlandırıcı olarak da bilinir, ALT anahtarını kullanarak klavye giriş denetimini sağlar. Birden çok denetimin yinelenen erişim tuşları varsa, erişim tuşunun davranışı iyi tanımlı değildir.
CA1302CA1302: Yerel özel dizeleri doğrudan programın içine gömmeyinSystem.Environment.SpecialFolder numaralandırma özel sistem klasörlerine başvuran üyeleri içerir. Bu klasörlerin konumları farklı işletim sistemleri üzerinde farklı değerlere sahip olabilir; kullanıcı konumları değiştirebilir ve konumlar yerelleştirilmiştir. Environment.GetFolderPath yöntemi yerelleştirilmiş ve o anda çalışan bilgisayara uygun Environment.SpecialFolder numaralandırma ile ilişkili olan konumları döndürür.
CA1303CA1303: Harfleri yerelleştirilmiş parametreler olarak göndermeyinDışarıdan görünen yöntemi bir dize değişmez değer parametre olarak .NET Framework kütüphane sınıfında yapıcıya veya yönteme geçirir ve dize yerelleştirilebilir olmalıdır.
CA1304CA1304: CultureInfo belirtmeYöntem veya Oluşturucu System.Globalization.CultureInfo parametre kabul eden aşırı yüklenmiş üye arar ve yöntem veya oluşturucu CultureInfo parametresi aşırı yükleme çağıramaz. Bir CultureInfo veya System.IFormatProvider nesnesi sağlanamadığında, aşırı yüklü üye tarafından sağlanan varsayılan değer, tüm yerel ayarlarda istediğiniz etkiyi vermeyebilir.
CA1305CA1305: IFormatProvider belirtmeYöntem veya oluşturucu System.IFormatProvider parametresini kabul eden aşırı yüklü bir veya daha fazla üye arar ve yöntem veya oluşturucu IFormatProvider parametre yüklemesini çağırmaz. Bir System.Globalization.CultureInfo veya IFormatProvider nesnesi sağlanamadığında, aşırı yüklü üye tarafından sağlanan varsayılan değer, tüm yerel ayarlarda istediğiniz etkiyi vermeyebilir.
CA1306CA1306: Veri türleri için yerel ayarları ayarlayınYerel ayarlar, veri için kültür-özel sunum öğelerini, örneğin para birimi sembolleri, sayısal değerler için biçimleri ve sıralama düzeni için kullanılan biçimlendirme gibi değerleri belirler. Bir DataTable veya DataSet oluşturduğunuzda, yerel ayarı açık olarak ayarlamanız gerekir.
CA1307CA1307: StringComparison belirtmeStringComparison parametresi ayarlanmamış bir yöntemi aşırı bir dize karşılaştırma işleminde kullanır.
CA1308CA1308: Dizeleri büyük harfe normalleştirinDizeler büyük harfe normalleştirilmeli. Küçük bir karakter grubu küçük harfe dönüştürüldüğünde gidiş dönüş yapamaz.
CA1309CA1309: Sıralı StringComparison kullanınStringComparison parametresini Ordinal ya da OrdinalIgnoreCase'a ayarlayamayan dilbilimsel olmayan dize karşılaştırma işlemi. Açıkça StringComparison.Ordinal veya StringComparison.OrdinalIgnoreCase için parametre ayarıyla kodunuz genellikle hızlanır, daha doğru olur ve daha güvenilir hale gelir.
CA1400CA1400: P/Invoke giriş noktaları bulunmalıdırOrtak veya korumalı yöntem System.Runtime.InteropServices.DllImportAttribute özniteliği kullanılarak işaretlenir. Yönetilmeyen kitaplık bulunamadı ya da yöntem için bir işlev kitaplığında eşleştirilemedi.
CA1401CA1401: P/Invoke'lar görünür olmamalıdırOrtak türde ortak ya da korunan yöntem System.Runtime.InteropServices.DllImportAttribute özniteliğine sahiptir (Declare anahtar kelimesiyle zaten Visual Basic içinde uygulanmıştır). Bu tür yöntemler açıkta kalmamalıdır.
CA1402CA1402: COM görünebilir arabirimler içinde aşırı yüklemelerden kaçınınAşırı yüklenmiş yöntemler COM istemcilerine maruz kaldığında, sadece ilk yöntem aşırı yüklemesi adını korur. Sonraki aşırı yüklemeler adının sonuna alt çizgi karakteri (_) eklenerek ve aşırı yüklemenin tanımını karşılayacak şekilde bir tam sayı eklenerek benzersiz olarak yeniden adlandırılır.
CA1403CA1403: Otomatik yerleşim türleri COM görünebilir olmamalıdırCOM görünür bir değer türü LayoutKind.Auto için System.Runtime.InteropServices.StructLayoutAttribute özniteliği kullanılarak işaretlendi. Bu .NET Framework sürümleri arasında COM müşterilerini kesen kişisel yerleşimi bekleyen bu tür yerleşimi değiştirebilirsiniz.
CA1404CA1404: P/Invoke ardından hemen GetLastError çağırMarshal.GetLastWin32Error yöntemine veya eşdeğer Win32 GetLastError işlevine bir çağrı yapılır ve hemen önceki çağrı bir işletim sistemi yöntemini harekete geçirmez.
CA1405CA1405: COM görünebilir tür taban türler COM görünebilir olmalıdırCOM görünür türü, görünmeyen bir COM türünden türer.
CA1406CA1406: Visual Basic 6 istemcileri için Int64 bağımsız değişkenlerinden kaçınınVisual Basic 6 COM istemcileri, 64-bit tamsayıya erişemiyor.
CA1407CA1407: COM görünebilir türler içinde statik üyelerden kaçınınCOM statik yöntemleri desteklemez.
CA1408CA1408: AutoDual ClassInterfaceType kullanmaÇift arabirim kullanan türler, belirli bir arabirim düzenine bağlanmak için istemcileri etkinleştirir. Gelecek sürümdeki değişiklikler, türün düzeni veya bazı temel türler, arayüze bağlanan COM istemcilerini kesintiye uğratır. Varsayılan olarak, ClassInterfaceAttribute özniteliği belirtilmezse, salt dağıtılan arabirim kullanılır.
CA1409CA1409: Com görünebilir türler oluşturulabilmelidirÖzellikle COM görünür olarak işaretlenmiş bir başvuru türü, parametreli ortak kurucu içeriyorsa ancak genel varsayılan (parametresiz) bir oluşturucuya sahip değildir. Genel varsayılan oluşturucu olmadan tür COM istemcileri tarafından oluşturulmamalıdır.
CA1410CA1410: COM kayıt yöntemleri eşleşmelidirSystem.Runtime.InteropServices.ComRegisterFunctionAttribute özniteliğini kullanarak işaretlenmiş yöntem bir tür bildirir ancak System.Runtime.InteropServices.ComUnregisterFunctionAttribute özniteliğini kullanarak veya tersi durumda işaretlenmiş bir yöntemi bildirmez.
CA1411CA1411: COM kayıt yöntemleri görünebilir olmamalıdırSystem.Runtime.InteropServices.ComRegisterFunctionAttribute özniteliğini veya System.Runtime.InteropServices.ComUnregisterFunctionAttribute özniteliğini kullanarak işaretlenmiş bir yöntemi dışarıdan görülebilir.
CA1412CA1412: ComSource Arabirimlerini IDispatch olarak işaretleyinSystem.Runtime.InteropServices.ComSourceInterfacesAttribute özniteliğini kullanarak işaretlenen bir tür ve belirtilen arabirimlerden birini ayarlamak için ComInterfaceType.InterfaceIsIDispatch özniteliğine System.Runtime.InteropServices.InterfaceTypeAttribute özniteliğini kullanarak ayarlanır.
CA1413CA1413: COM görünebilir değer türleri içinde genel olmayan alanlardan kaçınınCOM-görünür değer türlerinin ortak olmayan örnek alanları COM istemcilerine görünürdür. Maruz kalmaması gereken, istenmeyen bir tasarım ya da güvenlik etkileri olan bilgi alanındaki içeriği gözden geçirin.
CA1414CA1414: Boolean P/Invoke bağımsız değişkenlerini MarshalAs ile işaretleyinBoolean veri türünün, yönetimsiz kod içinde birden fazla sunumu vardır.
CA1415CA1415: P/Invoke'ları doğru bildirinBu kural, ÇAKIŞAN yapı parametresine işaret eden ve yönetilen koda uyan System.Threading.NativeOverlapped yapısına işaret etmeyen Win32 hedef işlevindeki işletim sistemi çağrı yöntemi bildirimlerine bakar.
CA1500CA1500: Değişken adları alan adlarıyla eşleşmemelidirBir örnek yöntemi, hatalara liderlik eden derlenen türdeki örnek alanı içinde adları uyuşan bir parametre yada yerel değişken tanımlar.
CA1501CA1501: Aşırı devralmadan kaçınDevralma hiyerarşisinde düzeyleri dörtten fazla olan türdür. İç içe yuvalanmış hiyerarşileri izlemek, anlamak ve muhafaza etmek zor olabilir.
CA1502CA1502: Aşırı karmaşıklıktan kaçınınBu kural, sayılarla ve şartlı şubelerle tanımlanan, yönteme giden doğrusal bağımsız yolların sayısını ölçer.
CA1504CA1504: Yanlış alan adlarını gözden geçirinÖrnek alan adı "s_" ya da statik (Visual Basic içinde paylaşılan) "m_" ile başlar.
CA1505CA1505: Bakımı yapılamayan kodlardan kaçınınBir tür veya yöntemin düşük bakım dizin değeri vardır. Düşük bakım dizini muhtemelen koruması zor olan ve yeniden tasarım için iyi bir aday olan tür veya yöntemi içerir.
CA1506CA1506: Aşırı sınıf bağlantısından kaçınBu kural türü veya yöntemini içeren benzersiz türde başvuru sayısı belirlenerek eşlenmesiyle sınıfı ölçer.
CA1600CA1600: Boş işlem önceliğini kullanmayınİşlem önceliğini Boşta olarak ayarlamayın. Aksi durumda boş olacak ve bu nedenle beklemeyi engeller, System.Diagnostics.ProcessPriorityClass.Idle bulunan işlemleri CPU dolduracaktır.
CA1601CA1601: Güç durumu değişikliklerini önleyen zamanlayıcılar kullanmayınYüksek frekanslı dönemsel faaliyet CPU'yu meşgul tutar ve sabit diski gösteren güç tasarruflu zamanlayıcılarla müdahale edilir.
CA1700CA1700: Numaralandırma değerlerini 'Ayrılmış' olarak adlandırmayınBu kural, "ayrılmış" içeren bir ada sahip numaralandırma üyesi şu anda kullanılmamaktadır ancak yeniden adlandırılabilir veya gelecekteki bir sürüme kaldırıldığını varsayar. Üye kaldırma veya yeniden adlandırma bölünmesi farklıdır.
CA1701CA1701: Kaynak dize bileşik sözcüklerinin küçük/büyük harfleri doğru yazılmalıdırKaynak dizedeki her sözcüğün büyük/küçük harf kurralarına dayanan belirteçler içinde bölünür. Her bir bitişik ikili-işaret kombinasyonu Microsoft yazım kitaplığı tarafından denetlenir. Tanınırsa, kelime kural ihlali üretir.
CA1702CA1702: Bileşik sözcüklerin küçük/büyük harfleri doğru yazılmalıdırTanımlayıcının adı birden çok sözcük içerir ve bu sözcüklerden en az biri büyük harf kullanımı hatasına maruz kalmış birleşik kelime olarak görülür.
CA1703CA1703: Kaynak dizeler doğru yazılmalıdırKaynak dizesi, Microsoft Yazım kitaplığı tarafından tanınmayan bir veya birkaç sözcük içerir.
CA1704CA1704: Tanımlayıcılar doğru yazılmalıdırDışarıdan görünen bir tanımlayıcı ad Microsoft yazım denetimi kitaplığı tarafından tanınmayan bir veya birkaç sözcük içerir.
CA1707CA1707: Tanımlayıcılar alt çizgi içermemelidirKural gereği, tanımlayıcı adlar alt çizgi (_) karakterini içermez. Bu kural ad alanlarını, türleri, üyeleri ve parametreleri denetler.
CA1708CA1708: Tanımlayıcılar örnekten daha fazla farklı olmalıdırOrtak dil çalışma zamanı hedef dilleri büyük/küçük harf duyarlı olması gerekmediğinden ad alanları, türler, üyeler ve parametreler için tanımlayıcılar yalnızca büyük/küçük harfe göre farklılık göstermeyebilir.
CA1709CA1709: Tanımlayıcıların büyük/küçük harfleri doğru yazılmalıdırKural gereği, parametre adları camel casing ve ad, tür ve üye adları Pascal casing kullanır.
CA1710CA1710: Tanımlayıcıların sonekleri doğru olmalıdırKural gereği, belli uzatılan türlerin adları ya da belli arayüzlerin uygulanması, ya da bu türlerden türetilen, basit tür veya arayüzden oluşturulan son eke sahiptir.
CA1711CA1711: Tanımlayıcıların sonekleri yanlış olmamalıdırKural gereği, yalnızca, belirli temel türleri genişleten veya bazı arabirimleri ya da bu türlerinden türetilmiş türleri uygulayan tür adları belirli ayrılmış öneklerle bitmelidir. Diğer tür adları aşağıdaki ayrılmış sonekleri kullanmamalı.
CA1712CA1712: Numaralandırma değerleri için tür adıyla önek kullanmayınNumaralandırma üyelerinin adları, tür adı kullanılarak öneklenmemiştir, çünkü geliştirici araçlarının tür bilgisini sağlaması beklenmez.
CA1713CA1713: Olaylarda önce veya sonra önek olmamalıdırOlay adı "Önce" veya "Sonra" ile başlar. Belirli bir sırayla ilgili olayları adlandırmak için şimdiki veya geçmiş zamanı göreceli konumun sıralı eylemlerini belirtmek için kullanın.
CA1714CA1714: Bayrak numaralandırmalarında çoğul adlar olmalıdırOrtak bir numaralandırma System.FlagsAttribute özniteliğine sahiptir ve adı "s" ile bitmez. Bileşik FlagsAttribute kullanarak işaretlenen öznitelik birden fazla değer belirtilebilir, çünkü çoğul adları vardır.
CA1715CA1715: Tanımlayıcıların önekleri doğru olmalıdırDışarıdan görünen bir arabirimin adı büyük "I" ile başlamıyor. Genel tür parametresi dışarıdan görünen tür veya yöntem adı büyük "T" ile başlamıyor.
CA1716CA1716: Tanımlayıcılar anahtar sözcüklerle eşleşmemelidirAd alanı adı veya tür adı ayrılmış anahtar sözcük bir programlama dili ile eşleşir. Tanımlayıcı adı ve türleri için ortak dil çalışma zamanı, hedef diller tarafından tanımlanan anahtar sözcüklerle aynı değildir.
CA1717CA1717: Yalnızca FlagsAttribute numaralandırmalarında çoğul adlar olmalıdırAdlandırma kuralları numaralandırma için adlandırma aynı anda birden fazla numaralandırma değeri olduğunu gösterir.
CA1719CA1719: Parametre adları üye adlarıyla eşleşmemelidirParametre adı parametrenin anlamıyla iletişim kurmalı ve üyenin adını üye anlamıyla iliştirmelidir. Bunların aynı olduğu yerlerde nadir bir tasarım olur. Aynı üye adıyla parametreyi adlandırma sezgisel değildir ve kütüphane kullanımını zorlaştırır.
CA1720CA1720: Tanımlayıcılar tür adları içermemelidirParametre adı dışarıdan görünen üye, veri türü adını içerir ya da açıkça görünen üyenin adı dil özellikli veri türü adı içerir.
CA1721CA1721: Tür adları alma yöntemleriyle eşleşmemelidirOrtak veya korumalı bir üye adı "Get" ile başlar ve aksi durumda ortak veya korumalı özellik adıyla eşleşir. "Get" yöntemlerinin ve özelliklerinin açıkça işlevlerinden ayırt edilebilen adları olması gerekir.
CA1722CA1722: Tanımlayıcıların önekleri yanlış olmamalıdırKural gereği, programlama öğelerinin belirli bir önek ile başlayan adları vardır.
CA1724CA1724: Tür Adları Ad Alanlarıyla EşleşmemelidirBu .NET Framework sınıf kütüphanesi içindeki tür adları içinde tanımlı ad alanlarının adlarıyla eşleşmiyor. Bu kuralın ihlali kitaplığın kullanılabilirliğini azaltabilir.
CA1725CA1725: Parametre adları taban yöntem ile eşleşmelidirParametreyi geçersiz kılma hiyerarşisinde tutarlı adlandırma yöntemini geçersiz kılmaları kullanılabilirliği artırır. Temel bildirim alanındaki addan farklı türetilmiş yöntem parametre adı taban yöntemini geçersiz kılma veya yeni aşırı yöntemin yöntem olup olmadığı hakkında karışıklığa neden olabilir.
CA1726CA1726: Tercih edilen terimleri kullanınDışarıdan görünen bir tanımlayıcının adı, tercih edilen terim varolduğunda alternatif olarak bir terim içerir. Alternatif olarak ad, "Bayrak" veya "Bayraklar" terimini içerir.
CA1800CA1800: Gereksiz atamalar yapmayınÖzellikle yayınlar sıkıştırılmış yineleme deyiminde gerçekleştirildiğinde yinelenen yayınların performansını azaltır.
CA1801CA1801: Kullanılmayan parametreleri gözden geçirYöntem imzası, yöntemin gövdesinde kullanılmayan bir parametre içerir.
CA1802CA1802: Uygun Yerlerde Sabitleri KullanStatik ve salt okunur bir alana bildirilen alan (Visual Basic içinde Paylaşılan ve Salt Okunur) ve derleme zamanında hesaplanabilen bir değer kullanılarak başlatılır. Hedeflenen alana atanan değer derleme zamanında hesaplanabilir olduğundan dolayı ( Visual Basiciçinde Sabit) alanın tanımını değiştirip değerin çalışma zamanında hesaplanması yerine derleme zamanı sırasında hesaplanmasını sağlayın.
CA1804CA1804: Kullanılmayan yerel öğeleri kaldırınKullanılmayan yerel değişkenler ve gereksiz atamaların derleme boyutunu artırır ve performansı düşürür.
CA1806CA1806: Yöntem sonuçlarını yoksaymayınYeni bir nesne oluşturulur, ancak hiç kullanılmaz veya çağrılan yeni dizeyi oluşturur ve döndürür ve yeni dize hiç kullanılmaz ya da COM veya P/Invoke yöntemi, bir HRESULT ya da hiç kullanılmayan hata kodu döndürür.
CA1809CA1809: Aşırı yerel öğelerden kaçınBir değeri bellek yerine işlemci yazmacında tutmak yaygın bir performans iyileştirmesidir ve buna "değeri kaydetmek denir". Tüm yerel değişkenlerin kaydedilme imkanına sahip olabilmesi şansını artırmak için yerel değişken sayısını 64 ile sınırlayın.
CA1810CA1810: Başvuru türü statik alanları satır içi başlatınBir tür açık statik yapıcı bildirdiğinde, JIT derleyici her bir statik yöntemi kontrol ekler ve türün yapıcı örneği statik yapıcının daha önceden çağrıldığından emin olur. Statik oluşturucu denetimleri performansı düşürebilir.
CA1811CA1811: Çağrılmayan özel kodlardan kaçınınÖzel ya da iç (derleme düzeyi) üye arayanların derlemede çağırıcısı yoktur; ortak dil çalışma zamanı tarafından çağrılan değildir ve temsilci tarafından çağrılan da değildir.
CA1812CA1812: Örneklendirilmemiş iç sınıflardan kaçınınBir derleme düzeyi türünün örneği, derleme içindeki kod tarafından oluşturulmaz.
CA1813CA1813: Korumasız özniteliklerden kaçınınBu .NET Framework sınıf kütüphanesi özel öznitelikleri almak için yöntem sağlar. Varsayılan olarak, bu yöntemleri öznitelik devralma hiyerarşisinde arar. Öznitelik mühürleme kalıtım hiyerarşisi aracılığıyla aramayı ortadan kaldırır ve performansı artırabilir.
CA1814CA1814: Basit dizileri çok boyutlu dizilere tercih edinBasit bir dizi, öğeleri dizi olan bir dizidir. Öğeleri olan diziler bazı veri kümeler için daha az harcanmış önde gelen farklı boyutlarda olabilir.
CA1815CA1815: Değer türlerinde eşittir ve işleç eşitliklerinin üzerine yazDeğer türleri için, Equals'ın devralınmış uygulaması Reflection kitaplığını kullanır ve türdeki tüm alanların içeriğini karşılaştırır. Yansıma hesaplama açısından pahalıdır ve her alan için eşitlik karşılaştırma gereksiz olabilir. Kullanıcıları karşılaştırmak veya örneklerini sıralamak ya da tablo anahtarlarını karma olarak kullanmayı bekliyorsanız, değer türünüz Equals'ı uygulamalıdır.
CA1816CA1816: GC.SuppressFinalize öğesini doğru çağırınDispose uygulamasını çağırmayan yöntem GC.SuppressFinalize'ı çağırmaz; ya da Dispose çağrılarında GC.SuppressFinalize uygulamayan yöntem; ya da GC.SuppressFinalize'ı çağıran yöntem ve bundan başka şeyleri geçen yöntemdir (Visual Basic'te Me).
CA1819CA1819: Özellikler diziler döndürmemelidirÖzellik salt okunur olsa bile özellikleri tarafından döndürülen dizi yazma korumalı değildir. Dizi değiştirilmeye kanıt tutulacak özellik dizisinin bir kopyasını döndürmelidir. Tipik olarak, kullanıcılar bu tür bir özellik aramanın performans üzerindeki olumsuz etkilerini anlamayacaktır.
CA1820CA1820: Dize uzunluğunu kullanarak boş dizeler için sınayınString.Length özelliği veya String.IsNullOrEmpty yöntemi, Equals kullanılmasından önemli ölçüde daha hızlıdır.
CA1821CA1821: Boş sonlandırıcıları kaldırınGüncelleştirirken, nesne kullanım süresini izleme söz konusu olduğunda ek performans yükü nedeniyle sonlandırıcılardan kaçının. Boş sonlandırıcı eklenen yükü çeker ve hiçbir avantaj sunmaz.
CA1822CA1822: Üyeleri statik olarak işaretleyinÖrnek veri veya çağrı örnek yöntemlerinin erişmeyen üyeleri statik olarak işaretlenir ( Visual Basiciçinde paylaşılmıştır ). Yöntemleri statik olarak işaretledikten sonra, derleyici sanal olmayan arama sitelerini bu üyelere yayar. Bu, ölçülebilir kazanç performansını performans duyarlı kodunuz için verebilir.
CA1823CA1823: Kullanılmayan özel alanlardan kaçınınDerlemede erişimi görülmeyen özel alanlar algılandı.
CA1824CA1824: Derlemeleri NeutralResourcesLanguageAttribute ile işaretlemeNeutralResourcesLanguage özniteliği bir derlemenin bağımsız kültürünün kaynağını görüntüleyen dilin Kaynak Yöneticisi'ni bilgilendirir. Bu ilk yüklediğiniz kaynak için arama performansını artırır ve çalışma kümenizi azaltabilir.
CA1900CA1900: Değer tür alanları taşınabilir olmalıdırBu kural açık düzene bildirilen yapıları kullanarak 64-bit işletim sistemlerinde yönetilmeyen kod sıralandığı zaman doğru olarak hizalamayı denetler.
CA1901CA1901: P/Invoke bildirimleri taşınabilir olmalıdırBu kural her parametresinin boyutu ve P/Invoke dönüş değeri olarak değerlendirilir ve parametrenin boyutu 32-bit ve 64-bit işletim sistemlerinde yönetilmeyen kodun başvuruya doğru olduğunu doğrular.
CA1903CA1903: Yalnızca hedeflenen çerçeveden API kullanınBir üye veya tür, bir üye veya projedeki hedeflenen çerçeve ile birlikte dahil edilmemiş hizmet paketinde tanıtılmış türü kullanır.
CA2000CA2000: Kapsamı kaybetmeden önce verileri atınBir nesnenin sonlandırıcısının çalışmasını engelleyecek olağanüstü bir durum gerçekleşebileceği için, nesne ona olan tüm başvurular kapsam dışına çıkmadan açıkça atılmalıdır.
CA2001CA2001: Sorunlu yöntemleri çağırmaktan kaçınınBir üye olası tehlikeli ya da sorunlu yöntemi çağırır.
CA2002CA2002: Zayıf kimliği olan nesneleri kilitlemeyinBir nesneye uygulama etki alanları arasından erişilebiliyorsa o nesnenin zayıf bir kimliğe sahip olduğu söylenir. Zayıf kimliğe sahip bir nesne üzerinde kilit almayı deneyen iş parçacığı aynı nesne üzerinde bir kilide sahip olan farklı uygulama etki alanı içindeki ikinci iş parçacığı tarafından engellenebilir.
CA2003CA2003: Lifleri iş parçacığı olarak görmeyinYönetilen bir iş parçacığı Win32 iş parçacığı olarak işlenir.
CA2004CA2004: GC.KeepAlive'a çağrıları kaldırınSafeHandle kullanımını dönüştürüyorsanız, tüm GC.KeepAlive (nesne) çağrılarını kaldırın. Bu durumda, sınıflar GC.KeepAlive'a çağrı yapmamalıdır. Bu, onların bir sonlandırıcısı olmadığını kabul eder, ancak SafeHandle'ı işletim sistemini sonlandırmasına güvenin.
CA2006CA2006: Yerel kaynakları kapsamak için SafeHandle kullanınYönetilen kod içinde IntPtr kullanmak olası bir güvenlik ve güvenilirlik sorunu belirtebilir. IntPtr'nin tüm kullanımları onun yerine bir SafeHandle ya da benzer bir teknolojinin kullanımının gerekip gerekmediğini belirlemek için gözden geçirilmelidir.
CA2100CA2100: SQL sorgularını güvenlik açıkları için inceleyinBir yöntem, yönteme dize değişkeninden oluşturulmuş dize kullanarak System.Data.IDbCommand.CommandText özelliğini ayarlar. Bu kural, dize değişkeninin kullanıcı girişi içerdiğini varsayar. Kullanıcı girişi ile oluşturulan SQL komut dizesi, SQL enjeksiyon saldırılarına karşı savunmasız durumdadır.
CA2101CA2101: P/Invoke dize bağımsız değişkenleri için sıralama belirtinBir platform çağırma üyesi kısmen güvenilen arayanlara izin verir, bir dize parametresine sahiptir ve dize açıkça sıralanmaz. Bu, olası bir güvenlik açığına neden olabilir.
CA2102CA2102: CLSCompliant olmayan özel durumları genel işleyiciler içinde yakalayınRuntimeCompabilityAttribute tarafından işaretlenmemiş veya RuntimeCompability (WrapNonExceptionThrows = yanlış) ile işaretlenmiş derlemedeki bir üye, System.Exception işleyen yakalama bloğu içerir ve hemen arkasından gelen genel bir yakalama bloğu içermez.
CA2103CA2103: Kesinlik temelli güvenliği gözden geçirinBir yöntem zorunlu güvenliği kullanır ve durum bilgileri veya dönüş değerlerini kullanarak izin oluşturursa, izin talebi etkin durumdayken değişebilir. Bildirime dayanan güvenliği mümkün olduğunca kullanın.
CA2104CA2104: Salt okunur kesilebilir başvuru türleri bildirmeyinDışarıdan görünen bir tür, kesilebilir başvuru türü olan dışarıdan görünen bir salt okunur alan içerir. Kesilebilir tür, örnek verileri değiştirilebilen bir türdür.
CA2105CA2105: Dizi alanları salt okunur olmamalıdırBir dizi içeren değiştiriciyi salt okunur alan kabul ettiğinizde (salt okunur Visual Basic), başvuru farklı bir diziyi değiştiremez. Bir dizinin öğeleri salt okunur bir alanda depolanmış olsa bile değiştirilebilir.
CA2106CA2106: Bildirimlerin güvenliğini sağlayınBir yöntem izin ileri sürer ve güvenlik önlemi olmayan çağrı üzerinde gerçekleşir. Güvenlik denetimleri yapmadan herhangi bir güvenlik izni ileri sürmek, kodunuzdaki güvenlik zayıflıklarını yararlanılabilir bırakır.
CA2107CA2107: Gözden geçirmeyi reddet ve yalnızca kullanımına izin verPermitOnly yöntemi ve CodeAccessPermission.Deny güvenlik eylemleri yalnızca .NET Framework güvenliği hakkında yeterli bilgiye sahip olanlar tarafından kullanılmalıdır. Bu güvenlik eylemlerini kullanan kod güvenlik incelemesi altından geçmelidir.
CA2108CA2108: Değer türleri üzerinde bildirimsel güvenliği gözden geçirinOrtak veya korunan değer türü, Veri Erişim veya Bağlantı Talepleri tarafından güvenlik altına alınır.
CA2109CA2109: Görünen olay işleyicileri gözden geçirinOrtak veya korunan olay işleme yöntemi algılandı. Olay işleme yöntemleri kesinlikle gerekli olmadığı sürece maruz bırakılmamalıdır.
CA2111CA2111: İşaretçiler görünür olmamalıdırİşaretçi özel, içsel veya salt okunur değildir. Kötü amaçlı kod işaretçinin değerini değiştirebilir, potansiyel olarak bellekte rastgele konumlara erişme izni verebilir veya uygulama ya da sistem hatalarına neden olabilir.
CA2112CA2112: Güvenli türler alanları açığa çıkarmamalıdırOrtak veya korumalı tür, ortak alanları içerir ve Bağlantı Talepleri tarafından güvenlik altına alınır. Bağlantı talebi tarafından güvenli türde bir örnek kod erişimi varsa, kod türün alanlarına erişmek için bağlantı talebine sahip değildir.
CA2114CA2114: Yöntem güvenliği türün bir üst kümesi olmalıdırYöntem, aynı eylem için hem yöntem düzeyine hem de tür düzeyine dayanan güvenliğe sahip olmamalıdır.
CA2115CA2115: Yerel kaynaklar kullanırken GC.KeepAlive'ı çağırınBu kural, yönetimsiz kod içinde kullanıldığı sırada yönetilmeyen kaynağın sonlandırılması nedeniyle oluşabilecek hataları algılar.
CA2116CA2116Ç APTCA yöntemleri yalnızca APTCA yöntemlerini çağırmalıdırAPTCA (AllowPartiallyTrustedCallersAttribute) özniteliği tam olarak güvenilen bir derlemede yapılandırıldığında ve derleme, kodu kısmen güvenilmeyen çağrıcılara izin vermeyen başka bir derlemede çalıştırdığında, güvenlik yararlanması mümkündür.
CA2117CA2117: APTCA türleri yalnızca APTCA taban türlerini genişletmelidirAPTCA (AllowPartiallyTrustedCallers) özniteliği, tam olarak güvenilen bir derleme üzerinde temsil edildiğinde ve derlemedeki tür, kısmen güvenilmeyen bir çağırıcıya izin vermeyen tür tarafından devralındığında, güvenlik yararlanması mümkündür.
CA2118CA2118: SuppressUnmanagedCodeSecurityAttribute kullanımını gözden geçirSuppressUnmanagedCodeSecurityAttribute, varsayılan davranışı COM birlikte çalışma veya işletim sistemi davranışını kullanan yönetilmeyen kodu çalıştıran üyeler için değiştirir. Bu öznitelik, öncelikle performansı artırmak için kullanılır; ancak, gelen performans artışı önemli güvenlik riskleri ile birlikte gelir.
CA2119CA2119: Özel arabirimleri karşılayan yöntemleri mühürleyinDevralınabilir bir ortak tür, içsel ( Visual Basic'de Arkadaş) arabirimin geçersiz yöntem uygulamasını sağlar. Bu kuralın ihlalini düzeltmek için yöntemin, derlemenin dışından geçersiz kılınmasını önleyin.
CA2120CA2120: Serileştirme oluşturucularının güvenliğini sağlayınBu türün, System.Runtime.Serialization.SerializationInfo nesnesi ve System.Runtime.Serialization.StreamingContext nesnesi (seri hale getiren yapıcı imzası) alan bir oluşturucusu vardır. Bu oluşturucu, güvenlik denetimi tarafından güvenli değildir; ancak türdeki en az bir normal oluşturucu güvenlidir.
CA2121CA2121: Statik oluşturucular özel olmalıdırSistem, türünün ilk örneğinin oluşturulmasından önce statik oluşturucuyu çağırır veya herhangi bir statik üyeye başvurur. Statik oluşturucu özel değilse, sistem dışındaki kod tarafından çağrılabilir. Oluşturucu içinde gerçekleştirilen işlemlere bağlı olarak bu, beklenmeyen davranışlara neden olabilir.
CA2122CA2122: Bağlantı talepleri olan yöntemleri dolaylı olarak açığa çıkarmayınOrtak veya korumalı bir üye, Bağlantı Taleplerine sahiptir ve herhangi bir güvenlik denetimi gerçekleştirmeyen üye tarafından çağrılır. Bağlantı talebi, yalnızca o anki çağırıcı izinlerini denetler.
CA2123CA2123: Geçersiz kılan bağlantı talepleri taban ile özdeş olmalıdırBu kural, arabirim ya da başka bir türdeki sanal yöntem olan temel yöntem ile başka bir yöntemi eşleştirir ve sonra her bir bağlantı talebini inceler. Bu kural ihlal edilirse kötü niyetli arayan, sadece güvensiz bir yöntem çağırarak bağlantı isteğini atlayabilir.
CA2124CA2124: Savunmasız sonunda yan tümcelerini dış deneme içine sarmalayınOrtak veya korumalı bir yöntem try/finally bloğunu içerir. Finally bloğu, güvenlik durumunu sıfırlamak için görünür ve finally bloğuna dahil değildir.
CA2126CA2126: Tür bağlantı talepleri devralma taleplerini gerektirirOrtak sonuçlandırılmamış bir tür, bağlantı isteği ile korunmalıdır ve geçersiz kılınabilir bir yöntemi vardır. Ne tür, ne de yöntem miras talebi kullanılarak korunmaktadır.
CA2127CA2136: Üyeler çakışan saydamlık ek açıklamalarına sahip olmamalıdırKritik kod, %100 saydam bir derlemede oluşamaz. Bu kural, tür, alan ve yöntem düzeylerinde herhangi SecurityCritical açıklamaları için %100 saydam derlemeleri inceler.
CA2128CA2147: Saydam türler güvenlik bildirimlerini kullanmamalıdırBu kural, tüm yöntemleri ve %100 saydam veya saydam/kritik karma derlemelerdeki türleri analiz eder ve onayların bildirimsel veya zorunlu kullanımlarını işaretler.
CA2129CA2140: Saydam kod güvenlik kritik nesnelerine başvurmamalıdırSecurityTransparentAttribute ile işaretlenmiş yöntemler, SecurityCritical olarak işaretlenmiş ortak olmayan üyeleri çağırır. Bu kural, saydam/kritik karma derlemedeki tüm yöntemler ve türleri inceler ve SecurityTreatAsSafe olarak işaretlenmemiş ortak olmayan kritik saydam koddaki çağrıları işaretler.
CA2130CA2130: Güvenlik kritik sabitleri saydam olmalıdırSaydamlık zorlaması, sabit değerler için zorlanmaz çünkü derleyiciler sabit değerleri satır içi hale getirir bu nedenle arama, çalışma zamanında gerekli değildir. Sabit alanlar saydam güvenlikli olmalıdır; böylece kodu gözden geçirenler saydam kodun sabitlere erişemediğini varsaymaz.
CA2131CA2131: Güvenlik kritik türleri tür eşdeğerliğine katılamazBir tür, türün eşdeğerliğine ve türün kendisine veya üyeye veya türün alanına katılır, SecurityCriticalAttribute özniteliği kullanılarak işaretlenir. Bu kural, herhangi kritik türler veya kritik yöntemleri içeren türler veya tür eşdeğerliğine katılan alanlar tetiklendiğinde olur. CLR böyle bir türü algıladığında, çalışma zamanında TypeLoadException ile yüklemek başarısız olur. Genellikle, bu kural yalnızca kullanıcılar içinde el ile veya türü eşdeğerlik tlbimp ve derleyiciler türü eşdeğerlik yapmak için güvenmek zorunda uyguladığınızda oluşturulur.
CA2132CA2132: Varsayılan oluşturucular en az taban tür varsayılan oluşturucular kadar kritik olmalıdırSecurityCriticalAttribute koduna sahip türler ve üyeler Silverlight uygulama kodu tarafından kullanılamaz. Kritik güvenlik türleri ve üyeleri, yalnızca Silverlight sınıf kütüphanesi için .NET Framework içindeki güvenilen kod tarafından kullanılabilir. Türetilmiş sınıftaki ortak veya korumalı oluşturma, onun temel sınıfından aynı düzeyde veya daha saydam olması gerektiğinden uygulama içindeki sınıf SecurityCritical işaretlenmiş bir sınıftan türeyemez.
CA2133CA2133: Temsilciler tutarlı saydamlığı olan yöntemlere bağlanmalıdırBu uyarı SecurityCriticalAttribute saydam veya SecuritySafeCriticalAttribute kullanılarak işaretlenmiş bir yöntem kullanılarak işaretlenmiş temsilci bağlayan bir yöntemi ortaya çıkar. Uyarı, saydam veya kritik bir yöntem için kritik derecede güvenli temsilciyi bağlayan yöntemi de tetikler.
CA2134CA2134: Yöntemler taban yöntemleri geçersiz kılarken tutarlı saydamlığı tutmalıdırBu kural yöntem saydam olan SecurityCriticalAttribute etkisiz kılma kullanılarak işaretlendiğinde veya SecuritySafeCriticalAttribute işaretlenmesi kullanıldığında oluşturulur. Bu kural saydam yöntem olan SecurityCriticalAttribute etkisiz kılma kullanılarak işaretlendiğinde veya SecuritySafeCriticalAttribute işaretlenmesi kullanıldığında oluşturulur. Bu kural, sanal bir yöntemi geçersiz kılarken veya bir arabirim uygulanırken uygulanır.
CA2135CA2135: Düzey 2 derlemeler LinkDemands içermemelidirLinkDemands, düzey 2 güvenlik kural kümesinden kaldırılmıştır. Tam zamanlı (JIT) derleme zamanında güvenliği zorlayan LinkDemands'ı kullanmak yerine; yöntemleri, türleri ve SecurityCriticalAttribute özniteliğine sahip alanları işaretleyin.
CA2136CA2136: Üyeler çakışan saydamlık ek açıklamalarına sahip olmamalıdırSaydamlık nitelikleri, geniş kapsam kodlu öğelerden daha küçük kapsamlı öğelere uygulanır. Geniş kapsamı ile kod öğelerinin saydamlık özniteliklerini ilk öğeden kapsayan kod öğelerinin saydam öznitelikleri önceliklidir. Örneğin; SecurityCriticalAttribute özniteliğiyle işaretlenmiş bir sınıf, SecuritySafeCriticalAttribute özniteliği kullanılarak işaretlenmiş bir yöntemi içeremez.
CA2137CA2137: Saydam yöntemler yalnızca doğrulanabilir IL içermelidirBir yöntem, doğrulanamayan kodu içerir veya başvuruya göre bir tür döndürür. Bu kural, doğrulanamayan microsoft ara dili (MISL) yürütmek için güvenlik saydam kodu tarafından girişimleri tetikler. Ancak kural tam IL doğrulayıcısı içermez ve MSIL doğrulamasının çoğu ihlalini yakalamak için buluşsal yöntemler kullanır.
CA2138CA2138: Saydam yöntemler SuppressUnmanagedCodeSecurity özniteliğine sahip yöntemleri çağırmamalıdırSaydam bir güvenlik yöntemi, SuppressUnmanagedCodeSecurityAttribute özniteliği kullanılarak işaretlenmiş bir yöntemi çağırır.
CA2139CA2139: Saydam yöntemler HandleProcessCorruptingExceptions özniteliğini kullanamazBu kural, saydam herhangi bir yöntemi ve HandleProcessCorruptedStateExceptionsAttribute özniteliği kullanarak işlem bozucu özel durumun yakalanması için deneme yapılmasını tetikler. Özel durumu bozan bu işlem, AccessViolationException gibi özel durumların CLR 4.0 sürümü özel durum sınıflandırılmasıdır. HandleProcessCorruptedStateExceptionsAttribute özniteliği, sadece kritik güvenlik yöntemleri tarafından kullanılır ve saydam bir yöntem uygulanırsa yoksayılır.
CA2140CA2140: Saydam kod güvenlik kritik nesnelerine başvurmamalıdırSecurityCriticalAttribute özniteliğiyle işaretlenmiş bir kod, kritik güvenliktedir. Saydam bir yöntem, kritik güvenlik öğesini kullanamaz. Saydam bir tür kritik güvenlik türünü kullanmayı denerse; TypeAccessException, MethodAccessException veya FieldAccessException ortaya çıkar.
CA2141CA2141:Transparent yöntemleri LinkDemands'i karşılamamalıdırSaydam güvenlik yöntemi, bir derlemede APTCA özniteliğiyle işaretlenmiş olan yöntemi çağırır veya saydam bir güvenlik yöntemi, tür ya da yöntem için LinkDemand karşılar.
CA2142CA2142: Saydam kod LinkDemands ile korunmamalıdırBu kural, bunlara erişmek için LinkDemands gerektiren saydam yöntemler üzerinde oluşturulur. Saydam güvenlik kodu, bir işlemin güvenlik doğrulaması için sorumlu olmamalıdır ve bu nedenle izin talep edilmemelidir.
CA2143CA2143: Saydam yöntemler güvenlik taleplerini kullanmamalıdırSaydam güvenlik kodu, bir işlemin güvenlik doğrulaması için sorumlu olmamalıdır ve bu nedenle izin talep edilmemelidir. Saydam güvenlik kodu, güvenlik kararını vermek için tüm talepleri kullanmalıdır ve güvenli kritik kod, saydam koda tüm talepleri vermek için güvenmemelidir.
CA2144CA2144: Saydam kod derlemeleri bayt dizilerinden yüklememelidirSaydam kod için güvenlik incelemesi kritik kod için güvenlik incelemesi kadar kapsamlı değildir, çünkü saydam kod güvenlik duyarlı eylemleri gerçekleştiremez. Bir bayt dizisinden yüklenen derlemeler, saydam kodda fark edilmeyebilir ve o bayt dizisi denetlenmesi gereken kritik ya da daha da önemlisi güvenli kritik kod içerebilir.
CA2145CA2145: Saydam yöntemler SuppressUnmanagedCodeSecurityAttribute ile donatılmamalıdırSuppressUnmanagedCodeSecurityAttribute özniteliği ile donatılmış yöntemler, çağıran herhangi bir yöntem yerleştirilen örtülü bir LinkDemand'a sahiptir. Bu LinkDemand, çağıran kodun kritik güvenlikli olmasını gerektirir. SecurityCriticalAttribute özniteliği ile SuppressUnmanagedCodeSecurity kullanan yöntemi işaretlemek, bu gereksinimi çağıran yöntem için daha belirgin yapar.
CA2146CA2146: Türler en az kendi taban türleri ve arabirimleri kadar kritik olmalıdırBu kural, kendi temel türü kadar kritik olmayan saydam güvenlik özniteliğine sahip bir tür türetildiğinde veya arabirim uygulandığında tetiklenir. Yalnızca kritik türler, kritik temel türlerden veya kritik arabirimleri uygulayanlardan türeyebilir ve sadece kritik ya da kritik güvenli türler, kritik güvenli temel türler veya kritik güvenli arabirim uygulamalarından türeyebilir.
CA2147CA2147: Saydam türler güvenlik bildirimlerini kullanmamalıdırSecurityTransparentAttribute olarak işaretlenmiş kod, onay için yeterli izinlerin verilmiş olmasını garanti etmez.
CA2149CA2149: Saydam yöntemler yerel kod içine çağırmamalıdırBu kuralın yerel kodu (örneğin, bir P/Invoke) doğrudan çağıran herhangi bir saydam yöntem olduğunda ortaya çıkar. Bu kural ihlalleri 2. seviye saydamlık modeli içindeki MethodAccessException öncülüğünde ve 1. seviye saydamlık modeli içindeki UnmanagedCode için talepte bulunur.
CA2151CA2151: Kritik türler içeren alanlar güvenlik açısından kritik olmalıdırKritik güvenlik türlerini kullanmak için türe başvuran kod güvenliği kritik veya güvenlik güvenli kritik olmalıdır. Dolaylı başvuru olsa bile bu doğrudur. Bu nedenle, bir güvenlik saydam veya güvenlik güvenli kritik alana erişmek mümkün olmayacaktır, çünkü saydam kod hala alana erişemeyecektir.
CA2200CA2200: Yığın ayrıntılarını korumak için yeniden fırlatmaTekrar fırlatılan bir özel durum ve fırlatma açıklamasında açıkça belirtilen özel durum. Bir özel durum throw deyiminde özel durum belirterek yeniden fırlatılırsa yöntem listesi özel durum döndüren özgün yöntem ile kaybolan geçerli yöntem arasında çağırır.
CA2201CA2201: Ayrılmış özel durum türleri oluşturmayınBu özgün hata algılama ve hata ayıklamayı zorlaştırır.
CA2202CA2202: Nesneleri birden çok kez atmayınYöntem uygulaması, aynı nesne üzerinde System.IDisposable.Dispose veya bir Dispose eşdeğer (örneğin, bazı türleri üzerinde Close() yöntemi) için birden fazla çağrı kodu yolları içerir.
CA2204CA2204: Değişmez değerler doğru yazılmalıdırBir yöntemin gövdesi içinde hazır bilgi dizesi Microsoft yazım denetimi kitaplığı tarafından tanınmayan bir veya birkaç sözcük içerir.
CA2205CA2205: Win32 API'sının yönetilen eşdeğerlerini kullanınİşletim sistemini çağıran yöntemin tanımlanmış olduğu ve eşdeğer bir işlevselliği olan yöntem .NET Framework sınıf kitaplığı içinde yer alır.
CA2207CA2207: Değer türü statik alanları satır içi başlatınBir değer türü açık bir statik oluşturucu bildirir. Bu kural ihlalini düzeltmek için bildirildiğinde, tüm statik veriyi başlatın ve statik oluşturucuyu kaldırın.
CA2208CA2208: Bağımsız değişken özel durumlarını doğru örnekleyinVarsayılan (parametresiz) kurucu veya ArgumentException türeyen özel bir durum türü için çağrı yapılır veya hatalı dize bağımsız değişkeni parametreli bir kurucu veya ArgumentException türeyen bir özel durum türü iletilir.
CA2210CA2210: Derlemelerin tanımlayıcı adı geçerli olmalıdırGüçlü ad oynanmış derlemeyi bilmeden yükleyerek istemcileri korur. Güçlü adı olmayan derlemeler oldukça sınırlı sayıda senaryo dışında kullanılmamalıdır. Düzgün imzalanmamış derlemeleri paylaşırsanız veya dağıtırsanız, derleme aslı bozuabilir, ortak dil çalışma zamanı derlemeyi yükleyemeyebilir veya kullanıcı kendi bilgisayarındaki doğrulamayı devre dışı bırakabilir.
CA2211CA2211: Sabit olmayan alanlar görünür olmamalıdırNe sabitler, ne de salt okunur olan statik alanlar güvenli iş parçacığı değildir. Böyle bir alana erişim dikkatli bir şekilde denetlenebilir ve sınıf nesnesi erişimi eşitlemek için gelişmiş programlama tekniklerini gerektirir.
CA2212CA2212: Servis verilen bileşenleri WebMethod ile işaretlemeyinSystem.EnterpriseServices.ServicedComponent'dan devralan türde bir yöntem System.Web.Services.WebMethodAttribute kullanılarak işaretlendi. WebMethodAttribute ve bir ServicedComponent yönteminin çakışan davranışları ve bağlam ve işlem akışı için gereksinimleri olduğu için, bazı senaryolarda yöntemin davranışı yanlış olacaktır.
CA2213CA2213: Atılabilen alanlar atılmalıdırIDisposable uygulayan türlerin alanları System.IDisposable uygulayan bir türle bildirilir. Bir Dispose yöntemi alanının tanıtıcısının bildirim türü Dispose yöntemi tarafından çağrılmaz.
CA2214CA2214: Geçersiz kılınabilir yöntemleri oluşturucular içinde çağırmayınKurucu sanal bir yöntemi çağırdığında, yapıcı yöntemini çağıran örneği işletilmemiş olabilir.
CA2215CA2215: Atma yöntemleri taban sınıf atmayı çağırmalıdırTür atılabilen bir türden devralınırsa, kendi Dispose yönteminden basit tür olan Dispose yöntemini çağırmalıdır.
CA2216CA2216: Atılabilir türler sonlandırıcıyı bildirmelidirSystem.IDisposable uygulayan yöntem ve yönetilmeyen kaynakların kullanımını öneren alanlar Object.Finalize'da açıklandığı gibi sonlandırıcıyı uygulamazlar.
CA2217CA2217: Numaralandırmaları FlagsAttribute ile işaretlemeyinDışarıdan görünen FlagsAttribute ile işaretlenmiş numaralandırma ve ikinin katı olmayan ya da numaralandırma üzerinde tanımlanan diğer değerlerin kombinasyonu olmayan bir ya da daha fazla değer vardır.
CA2218CA2218: GetHashCode'u Eşittir'i geçersiz kılarak geçersiz kılınGetHashCode, karma algoritmalar ve karma tablolar gibi veri yapıları için uygun olan geçerli örneği temel alan bir değer döndürür. Aynı türdeki ve eşit olan iki nesnenin aynı karma kodu döndürmesi gerekir.
CA2219CA2219: Özel durum yan tümceleri içinde özel durum harekete geçirmeyinBir istisna sonlandırıcı ya da arıza yan tümcesine neden olduğunda, yeni istisna aktif istisnayı saklar. Filtre yan tümcesinde bir özel durum ortaya çıktığında, çalışma zamanı özel durumu sessizce yakalar. Bu özgün hata algılama ve hata ayıklamayı zorlaştırır.
CA2220CA2220: Sonlandırıcılar taban tür sonlandırıcıları çağırmalıdırSonlandırılma, devralma hiyerarşisi aracılığıyla gönderilmelidir. Bunu güvence altına almak için, türler basit sınıflarının kendi Finalize yönteminde Finalize yöntemini çağırmalıdır.
CA2221CA2221: Sonlandırıcılar korunmalıdırSonlandırıcılar aile erişim değiştiricisi kullanmalıdır.
CA2222CA2222: Devralınan üye görünürlüğünü azaltmayınDevralınan üyeler için erişim değiştiricisini değiştirmemelisiniz. Devralınmış bir üyeyi özel olarak değiştirme, arayanların yöntemin temel sınıf uygulamasına erişmesini engellemez.
CA2223CA2223: Üyeler dönüş türünden daha fazla farklı olmalıdırOrtak dil çalışma zamanı, aynı üyeler arasında ayrım yapmak için dönüş türleri kullanımına izin verir, ancak bu özelliği ne ortak dil belirtimi ne de .NET programlama dillerinin ortak özelliğidir.
CA2224CA2224: Eşittir işlecini aşırı yükleyerek eşittiri geçersiz kılınOrtak bir tür eşitlik işlecini uygular, ancak Object.Equals'ı geçersiz kılmaz.
CA2225CA2225: İşleç aşırı yüklemeleri adlandırılmış alternatiflere sahiptirOperatör aşırı yüklemesi bulundu ve beklenen adlandırılmış alternatif yöntem bulunamadı. Adlandırılmış alternatif üye operatörün sağladığı gibi aynı fonksiyonlara erişmeyi sağlar ve aşırı yüklenmiş operatörlere destek olmayan dilleri programlayan programcılar için bunlar sağlanmıştır.
CA2226CA2226: İşleçler simetrik aşırı yüklemelere sahip olmalıdırBir tür, eşitlik ya da eşitsizlik operatörünü uygular ve ters işleci uygulamaz.
CA2227CA2227: Koleksiyon özellikleri salt okunur olmalıdırYazılabilir koleksiyon özelliği kullanıcının koleksiyonun tamamını farklı bir koleksiyonla değiştirmesine izin verir. Salt okunur özelliği değiştirilmesini durdurur ancak yine de tekil üyelerin ayarlamasına izin verir.
CA2228CA2228: Yayımlanmamış kaynak biçimlerini yollamayınBu .NET Framework öğesinin daha önceki sürümleri kullanılarak oluşturulan kaynak dosyaları .NET Framework'ün desteklenen .NET Framework sürümleri tarafından kullanılamayabilir.
CA2229CA2229: Serileştirme oluşturucularını uygulayınBu kural ihlalini düzeltmek için seri hale getirme yapıcısını uygular. Kapalı bir sınıf için kurucusunu özel yapın; aksi takdirde korunmuş yapın.
CA2230CA2230: Değişken bağımsız değişkenler için params kullanınOrtak veya korumalı tür VarArgs çağırma kuralı params anahtar sözcüğünü kullanan bir ortak veya korumalı yöntem içerir.
CA2231CA2231: ValueType.Equals değerini geçersiz kılmada eşittir işlecini aşırı yükleBir değer türü Object.Equals'ı geçersiz kılar, ama eşitlik işlecini uygulamaz.
CA2232CA2232: Windows Forms giriş noktalarını STAThread ile işaretleyinSTAThreadAttribute, COM uygulama modelinin tek bir iş parçacıklı grup olduğunu gösterir. Bu öznitelik Windows Forms kullanan herhangi bir uygulamanın girişinde sunulur; atlanırsa, Windows bileşenleri doğru çalışmayabilir.
CA2233CA2233: İşlemler taşmamalıdırAritmetik işlemleri, işlenenleri doğrulamadan gerçekleştirmemelisiniz. Bu, işlemin sonucu söz konusu olan veri türleri için olası değerler aralığının dışında olduğundan emin olur.
CA2234CA2234: Dizeler yerine System.Uri nesneleri gönderinAdında "URI", "URI", "urn", "urn", "url" veya "url" içeren bir dize parametresi olan yöntem çağrısı yapıldı. Bildirim türü yöntemi, System.Uri parametresini aşırı yüklemeye uyan yöntemi içerir.
CA2235CA2235: Tüm serileştirilebilir olmayan alanları işaretleyinSeri hale getirilemeyen bir örnek alan türü seri hale getirilebilir bir tür içinde bildirilir.
CA2236CA2236: ISerializable türler üzerinde taban sınıf yöntemlerini çağırınBu kural ihlalini düzeltmek için, taban türü GetObjectData yöntemini veya karşılık gelen türetilmiş yöntemden ya da oluşturucudan serileştirme oluşturucusunu çağırın.
CA2237CA2237: ISerializable türleri SerializableAttribute ile işaretleyinOrtak dil çalışma zamanı tarafından seri hale getirilebilir olarak tanınması için, türler ISerializable arabirimini uygulaması aracılığıyla özel seri hale getirme yordamı kullanıldığında SerializableAttribute özniteliği kullanılarak işaretlenmelidir.
CA2238CA2238: Serileştirme yöntemlerini doğru uygulamaSeri hale getirme olayı tanıtan yöntem türü, doğru imzaya, dönüş türüne veya görünürlüğe sahip değil.
CA2239CA2239: İsteğe bağlı yöntemler için serileştirme kaldırma yöntemler sağlayınSystem.Runtime.Serialization.OptionalFieldAttribute özniteliğini kullanarak işaretlenmiş alan türü ve tür, yöntemlerinin yönetilmesi seriyi kaldırma olayını sağlamaz.
CA2240CA2240: ISerializable'ı doğru uygulayınBu kural ihlalini düzeltmek için GetObjectData yöntemi geçersiz kılınabilir ve bütün örnek alanların seri hale getirme işlemine dahil edildiğinden emin olun ya da NonSerializedAttribute özniteliğini kullanarak açıkça işaretleyin.
CA2241CA2241: Biçimlendirme yöntemlerine doğru bağımsız değişkenleri sağlayınSystem.String.Format için geçirilen biçim, her bir nesne bağımsız değişkeninden sorumlu olan öğe biçimini içermez.
CA2242CA2242: NaN için doğru sınayınBu ifade, değeri Single.Nan veya Double.Nan'a karşı test eder. Single.IsNan(Single) ya da Double.IsNan(Double) değerini test etmek için kullanın.
CA2243CA2243: Öznitelik dize harfleri doğru çözümlenmelidirBir öznitelik dize literal parametresi, URL, GUID ya da sürüm için doğru ayrıştırmaz.
CA5122CA5122 P/Invoke bildirimleri güvenli kritik olmamalıdırGüvenlik duyarlı işlem gerçekleştirildiğinde yöntemler SecuritySafeCritical olarak işaretlenir ancak saydam mod kullanılarak da güvenli olur. Saydam kod, P/Invoke aracılığıyla yerel kodu hiçbir zaman doğrudan çağırmayabilir. Bu nedenle, P/Invoke güvenlik güvenli kritik olarak işaretleme çağırmak için saydam kodu etkinleştirmez ve güvenlik çözümlemesi için yanıltıcıdır.
Show: