Číst v angličtině

Sdílet prostřednictvím


Typ typename <> omezení obecného parametru není kompatibilní se specifikací CLS.

Obecný typ je označen jako <CLSCompliant(True)>, ale omezení na jeden z jeho parametrů typu určuje typ, který je označen jako <CLSCompliant(False)>, není označen nebo není kvalifikovat, protože se jedná o nekompatibilní typ.

Aby byl typ kompatibilní s jazykovou nezávislostí a komponentami cls (Language-Independent Components ), musí používat pouze typy kompatibilní se specifikací CLS. To platí také pro omezení parametrů typu obecného typu.

Následující datové typy jazyka Visual Basic nedodržují předpisy CLS:

Když použijete CLSCompliantAttribute atribut na programovací prvek, nastavíte parametr atributu isCompliant na buď True nebo False na označení dodržování předpisů nebo nedodržování předpisů. Pro tento parametr neexistuje výchozí hodnota a je nutné zadat hodnotu.

Pokud se nevztahujete CLSCompliantAttribute na prvek, považuje se za nevyhovující.

Ve výchozím nastavení je tato zpráva upozorněním. Informace o skrytí upozornění nebo zpracování upozornění jako chyb naleznete v tématu Konfigurace upozornění v jazyce Visual Basic.

ID chyby: BC40040

Oprava této chyby

  • Pokud obecný typ musí přijmout parametr typu omezený tímto konkrétním typem, odeberte CLSCompliantAttribute. Typ nemůže být kompatibilní se specifikací CLS.

  • Pokud obecný typ musí být kompatibilní se specifikací CLS, změňte typ tohoto omezení na nejbližší typ kompatibilní se specifikací CLS. Pokud UInteger například nepotřebujete rozsah hodnot nad 2 147 483 647, může být možné použít Integer . Pokud potřebujete rozšířený rozsah, můžete nahradit UInteger .Long

Viz také