Soru Taban tipi CLS uyumlu değil, bu uyarının nedenleri nelerdir?


Derslerimden birinde konuyla ilgili uyarı aldım. Aslında sınıf çok basit, sadece genel taban tipimin bir mirasçısı. Ayrıca, bu genel sınıftan çözümün diğer bazı mirasçılarım var ve böyle bir uyarı yok.

Bunun sebebi ne olabilir? Derleyici, temel türün CLS uyumlu olmamasının hiçbir ipucu vermez


32
2017-10-25 08:57


Menşei


Sınıf dışında görünebilecek hiçbir yöntemin veya özelliklerin, yalnızca bunları ayırmak için olduğu gibi aynı şekilde yazıldığını kontrol edin: örn. Bağlantı ve bağlantı. VB.NET, durum arasında ayrım yapmaz ve bu özellikler belirsiz olur. - David Mårtensson


Cevaplar:


Muhtemelen [assembly:CLSCompliant(true)] Bu belirli projede bir yerde. Bu, derleyicinin CLS uyumlu olmasını kontrol etmek için tetikleyiciyi tetikler. Bunu bir tür veya yöntemle veya bir [CLSCompliant(false)].


53
2017-10-25 08:58



Aslında ortaya çıktı, başka bir mecrada bu niteliğe sahip değildim. Teşekkürler! - DarkDeny
Rica ederim. - Pieter van Ginkel


Sanırım CLSCompliant olarak işaretlenmiş türetilmiş bir tür var ama temel değil.

CLS Uyumlu Kodu Yazma  Kanonik örnek, Ortak Dil Belirtiminin (CLS) bir parçası olmayan bir UInt32 kullanıyor - dolayısıyla CLS uyumlu olması için Int64 kullanmanız veya özniteliği kaldırmanız gerekir (kendiniz cls uyumlu değil).

Hatalı kod satırını tanımlamak için daha fazla koda ihtiyacınız var. Hakkında daha fazla bilgi hata sen alıyorsun


3
2017-10-25 09:04