Je suis la conception d'une API en C#, et une fonction que j'ai besoin est quelque chose le long des lignes de:Utilisation des énumérations dans l'API
void CreateChild(string name, ChildType type);
Où ChildType est défini comme:
public enum ChildType { Number = 0, Text = 1 };
Il devrait être assez explicite, mais essentiellement, il va créer un enfant de l'objet en question, et le type de valeur que l'enfant contient sera une chaîne ou un double basé sur la valeur de l'enum.
L'énumération ChildType
est publique, donc, je suppose, serait accessible aux utilisateurs de l'API. Mon problème est que certaines langues ne comprendront pas l'énumération dans la signature et ne pourront pas programmer vers cette API. Est-ce que cela vous préoccupe ou mes craintes sont-elles infondées?
Je suppose que vous voulez en savoir plus sur l'écriture du code conforme CLS, ce que je ne connais pas très bien. Un rapide google montre que les énumérations sont supportées par le système de type commun dans le .NET Framework: http://msdn.microsoft.com/en-us/library/zcx1eb1e.aspx – blizpasta
Vous pouvez ajouter l'attribut CLSCompliant à votre assembly et laisser le compilateur le vérifie pour vous. –
Dans ce cas particulier, vous devriez envisager de séparer 'CreateNumberChild (string)' et 'CreateTextChild (string)', ce qui pourrait être un peu plus utilisable. (En supposant que le cas d'utilisation normal consiste à coder en dur le ChildType au moment de l'appel.) –