Если класс является законно совместимым с CLS, единственными функциями, которые требуются для поддержки языков помимо минимальных требований CLS, будут те, которые были бы бессмысленными в отсутствие таких функций.Например, CLS-совместимая группа методов может включать в себя перегрузки для целочисленных типов без знака, если какая-либо функциональность, предоставляемая этими методами, будет доступна с помощью других средств.
Если класс должен делать что-то вроде обеспечения средств чтенияи при записи 32-битных значений без знака из некоторого набора внешних данных соответствие CLS не запрещало бы типу предоставлять методы для чтения и записи данных типа UInt32
, но требовало бы, чтобы любые данные, которые можно было прочитать или записать с помощью таких методов, должныбыть читаемым другими методами, которые не требуют этого типа [например, они могли бы использовать Int64
вместо].Код клиента, использующий Int64
, может быть менее эффективным, чем код, использующий UInt32
, но отказ языка, поддерживающего UInt32
, не помешает клиентскому коду делать то, что ему нужно, - он просто замедлитэто немного вниз.