Est-ce que CLSCompliant attribut soins pour les anciennes versions des langages .NET?

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

  •  12-09-2019
  •  | 
  •  

Question

Par exemple, je lis que .net Visual Basic n'a pas eu l'opérateur avant surchargent, donc ne serait pas en mesure d'utiliser un type opérateurs surchargés, si elles ne sont pas fournis en tant que méthodes normales trop (Ajouter, au lieu de l'opérateur + ).

Maintenant que VB a cette fonction, serait CLSCompliant attribuer des soins si vous avez des méthodes statiques normales comme Additionner, Soustraire au lieu de l'opérateur que les surcharges?

Je l'ai écrit quelques types sans les méthodes statiques verbales, mais seulement opérateur surcharge, et le compilateur C # fichait. Si c'était un problème, il me prévenir, non?

Était-ce utile?

La solution

conformité CLS est de ne pas faire avec plus quoi que ce soit - il est tout simplement l'ensemble de base de fonctionnalités que vous devriez raisonnablement attendre un arbitraire langue pour gérer (en consommant votre code). Par exemple, il pas raisonnable de supposer qu'une langue est sensible à la casse, afin que les membres « Foo » et « foo », alors que juridique en C #, ne sont pas conformes CLS.

Le compilateur vous avertit si vous lui demandez; ajouter [CLSCompliant(true)] à un type / montage / etc et il vérifiera votre demande.

Si vous êtes un éditeur de logiciels, vous voudrez peut-être penser à la conformité de CLS. Si vous écrivez du code juste pour vous-même et de l'équipe, vous ne avez probablement pas besoin de la tête.

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