Question

Si j'ai un projet et je marque comme

<Assembly: CLSCompliant(True)> 

Dois-je mettre CLSCompliant(True) avant tous classe dans le projet, ou sont-ils tous par défaut à CLSCompliant?

Était-ce utile?

La solution

Ajout de l'attribut CLSCompliant au niveau de l'assemblage ne modifie pas les classes de toute façon, il n'a donc pas make des classes CLS conforme. Ce qu'il fait est de forcer le compilateur à soulever tout ce qui ne se conforme pas comme une erreur. Il est toujours votre responsabilité de vous réellement que les classes ne cassent pas les règles.

Cela dit bien, oui, il ne filtre vers le bas et affecte toutes les classes de l'assemblée sans qu'il soit nécessaire d'ajouter à nouveau à chaque classe. De là :

  

Si aucun attribut CLS est appliqué à un   le type, ce type est supposé avoir la   même conformité CLS que l'Assemblée   dont le type est défini.

Cet article est également tout à fait une belle vue d'ensemble sur la façon dont cela fonctionne, ce que vous devez faire, et pourquoi vous pouvez le faire.

Autres conseils

Ce que je sais CLSCompliant est, par défaut, votre ensemble est non conforme. À mon avis, tous les projets doivent être CLSCompliant. Les projets qui sont des outils ou des bibliothèques, qui vont être utilisés par d'autres applications devraient être CLSCompliant. Alors que la construction Outils Visual Studion pour Windows Live, nous devions nous assurer que notre code n'a pas donné d'erreurs de CLSCompliant ou des avertissements.

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