AuronX, danke für den Hinweis.
Wir können die C# Bindings CLS-compliant machen, denke ich. Da C# unsigned Typen unterstützt würden wir diese ungern durch die nächst größeren signed Typen ersetzen (so wie das in den Java Bindnings ist, weil es da nicht anders geht).
Daher wäre eine Idee, dass jede Methode die nicht CLS-compliant ist einen CLS-compliant Überladung bekommt. Zum Beispiel für BrickIMU würde aus
public void SetAccelerationPeriod(uint period);
dann
[CLSCompliantAttribute(false)]
public void SetAccelerationPeriod(uint period);
[CLSCompliantAttribute(true)]
public void SetAccelerationPeriod(long period);
In der Hoffnung, dass das so geht (ich hab's noch nicht getestet) und z.B. in VB.net die CLS-compliant Variante aufgerufen wird und diese sich nicht mit Der Überladung in die Quere kommt. Falls nicht würde die CLS-compliant Variante noch einen Anhang an den Methodennamen bekommen.
Siehst du sonst noch Probleme außer die unsigned Typen?