|
Tutorial C#
Common Language Specification (CLS)
El Common Language Specification (CLS) o Especificación del Lenguaje
Común es un conjunto de reglas que han de seguir las definiciones de tipos que
se hagan usando un determinado lenguaje gestionado si se desea que sean
accesibles desde cualquier otro lenguaje gestionado. Obviamente, sólo es
necesario seguir estas reglas en las definiciones de tipos y miembros que sean
accesibles externamente, y no la en las
de los privados. Además, si no importa la interoperabilidad entre lenguajes
tampoco es necesario seguirlas. A continuación se listan algunas de reglas
significativas del CLS:
- Los tipos de datos básicos admitidos son bool,
char, byte, short,
int, long, float,
double, string
y object Nótese
pues que no todos los lenguajes tienen porqué admitir los tipos básicos
enteros sin signo o el tipo decimal como lo hace
C#.
- Las tablas han de tener una o más dimensiones, y el
número de dimensiones de cada tabla ha de ser fijo. Además, han de
indexarse empezando a contar desde 0.
- Se pueden definir tipos abstractos y tipos
sellados. Los tipos sellados no pueden tener miembros abstractos.
- Las excepciones han de derivar de System.Exception,
los delegados de System.Delegate, las
enumeraciones de System.Enum, y los
tipos por valor que no sean enumeraciones de System.ValueType.
- Los métodos de acceso a propiedades en que se
traduzcan las definiciones get/set de éstas han de llamarse de la forma get_X
y set_X respectivamente,
donde X es el nombre de la propiedad; los de acceso a indizadores han de
traducirse en métodos get_Item y setItem;
y en el caso de los eventos, sus definiciones add/remove han de traducirse
en métodos de add_X y remove_X.
- En las definiciones de atributos sólo pueden usarse
enumeraciones o datos de los siguientes tipos: System.Type,
string, char,
bool, byte,
short, int,
long, float,
double y object.
- En un mismo ámbito no se pueden definir varios
identificadores cuyos nombres sólo difieran en la capitalización usada. De
este modo se evitan problemas al acceder a ellos usando lenguajes no
sensibles a mayúsculas.
- Las enumeraciones no pueden implementar
interfaces, y todos sus campos han
de ser estáticos y del mismo tipo. El tipo de los campos de una
enumeración sólo puede ser uno de estos cuatro tipos básicos: byte,
short, int o
long.
Principal
|
|