Genel parametre kısıtlama türü tür <adı> CLS uyumlu değil

Genel tür olarak <CLSCompliant(True)>işaretlenir, ancak tür parametrelerinden biri üzerindeki bir kısıtlama, olarak <CLSCompliant(False)>işaretlenmiş bir türü belirtir, işaretlenmez veya uyumsuz bir tür olduğundan uygun değildir.

Bir türün Dil Bağımsızlığı ve Dilden Bağımsız Bileşenler (CLS) ile uyumlu olması için yalnızca CLS uyumlu türleri kullanması gerekir. Bu, genel türün tür parametrelerindeki kısıtlamalar için de geçerlidir.

Aşağıdaki Visual Basic veri türleri CLS uyumlu değildir:

Özniteliği bir programlama öğesine uyguladığınızdaCLSCompliantAttribute, özniteliğin isCompliant parametresini uyumluluk veya uyumsuzluğu belirtmek için ya False da True olarak ayarlarsınız. Bu parametre için varsayılan değer yoktur ve bir değer sağlamanız gerekir.

Bir öğeye uygulamazsanız CLSCompliantAttribute , uyumsuz olarak kabul edilir.

Varsayılan olarak, bu ileti bir uyarıdır. Uyarıları gizleme veya uyarıları hata olarak ele alma hakkında bilgi için bkz . Visual Basic'te Uyarıları Yapılandırma.

Hata Kimliği: BC40040

Bu hatayı düzeltmek için

  • Genel türün bu türle kısıtlanmış bir tür parametresi alması gerekiyorsa, öğesini kaldırın CLSCompliantAttribute. Tür CLS uyumlu olamaz.

  • Genel türün CLS uyumlu olması gerekiyorsa, bu kısıtlamanın türünü en yakın CLS uyumlu türle değiştirin. Örneğin, 2.147.483.647'nin üzerindeki değer aralığına ihtiyacınız yoksa, UInteger bunu kullanabilirsiniz Integer . Genişletilmiş aralığa ihtiyacınız varsa değerini ile LongdeğiştirebilirsinizUInteger.

Ayrıca bkz.