ich eine API in C# bin die Gestaltung, und eine Funktion, die ich brauche, ist etwas entlang der Linien von:Verwendung von Aufzählungen in API
void CreateChild(string name, ChildType type);
Wo ChildType ist definiert als:
public enum ChildType { Number = 0, Text = 1 };
Es sollte ziemlich selbsterklärend sein, aber im Wesentlichen wird es ein Kind des fraglichen Objekts erstellen, und der Typ des Werts, den Kind enthält, wird entweder eine Zeichenfolge oder ein Doppel sein, basierend auf dem Wert der Aufzählung.
Die ChildType
Enum ist öffentlich, also nehme ich an, würde für Benutzer der API zugänglich sein.
Mein Anliegen ist, dass einige Sprachen die Enum in der Signatur nicht verstehen und nicht auf diese API programmieren können. Ist das etwas, worum es sich handelt, oder sind meine Ängste unbegründet?
Ich denke, dass Sie mehr über das Schreiben von CLS-Compliant-Code wissen möchten, über den ich nicht viel weiß. Ein schnelles Google zeigt, dass Aufzählungen vom allgemeinen Typsystem in .NET Framework unterstützt werden: http://msdn.microsoft.com/en-us/library/zcx1eb1e.aspx – blizpasta
Sie können das CLSCompliant-Attribut zu Ihrer Assembly hinzufügen und lassen Der Compiler überprüft es für Sie. –
In diesem speziellen Fall sollten Sie in "CreateNumberChild (string)" und "CreateTextChild (string)" unterscheiden, was ein wenig nützlicher sein könnte. (Angenommen, der normale Anwendungsfall besteht darin, den ChildType zum Zeitpunkt des Aufrufs fest zu codieren.) –