Un assemblage qui comprend une référence non conforme aux CLS peut-il être conforme à CLS?

StackOverflow https://stackoverflow.com/questions/4975589

  •  12-11-2019
  •  | 
  •  

Question

J'ai une DLL existante qui n'est pas conforme aux CL que je fais référence à mon propre projet. Lorsque je marque mon assemblage comme conforme aux CL, je reçois des avertissements de compilateur que les noms dans l'assemblage référencé ne sont pas conformes aux CLS.

Existe-t-il un moyen de garder mon assemblage conforme aux CL et de marquer celui référencé comme non?

Était-ce utile?

La solution

Oui, votre DLL peut être conforme à CLS tant qu'elle n'expose aucun membre non conforme aux CLS de l'assemblée référencée - c'est-à-dire qu'elle ne les mentionne dans aucun de ses propres membres ou types publics ou protégés . (Il peut toujours les utiliser dans des membres et des types privés et internes.)

Si votre DLL a besoin d'exposer des types directement à partir de la DLL non conforme, vous pouvez soit essayer d'encapsulant ces types dans vos propres emballages (par exemple, une méthode peut renvoyer un MyWrapperAroundNaughtyType au lieu d'une NaughtyType), ou vous pouvez marquer les membres concernés de votre API CLSCompliant(false) pour opter uniquement les membres de la vérification du compilateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top