Definição – o que significa Common Type System (CTS)?
O Common Type System (CTS) é um padrão para definir e usar tipos de dados no .NETframework. CTS define uma coleção de tipos de dados, que são usados e gerenciados pelo tempo de execução para facilitar a integração entre linguagens.
O CTS fornece os tipos no .NET Framework com os quais aplicativos, componentes e controles .NET são construídos em diferentes linguagens de programação para que as informações sejam compartilhadas facilmente. Em contraste com as linguagens de baixo nível como C e C ++, onde classes / estruturas devem ser usadas para definir os tipos frequentemente usados (como data ou hora), o CTS fornece uma rica hierarquia de tais tipos sem a necessidade de qualquer inclusão de arquivos de cabeçalho ou bibliotecas no código.
CTS é uma especificação criada pela Microsoft e incluída no padrão da European Computer Manufacturer’s Association. Ele também constitui o padrão para a implementação da estrutura .NET.
Definirtec explica o Common Type System (CTS)
CTS é projetado como uma hierarquia de objeto com raiz única com System.Object como o tipo base a partir do qual todos os outros tipos são derivados. CTS suporta dois tipos diferentes de tipos:
- Tipos de valor: contêm os valores que precisam ser armazenados diretamente na pilha ou alocados em linha em uma estrutura. Eles podem ser integrados (tipos primitivos padrão), definidos pelo usuário (definidos no código-fonte) ou enumerações (conjuntos de valores enumerados que são representados por rótulos, mas armazenados como um tipo numérico).
- Tipos de referência: armazena uma referência ao endereço de memória do valor e são alocados no heap. Os tipos de referência podem ser qualquer um dos tipos de ponteiro, tipos de interface ou tipos autoexplicativos (arrays e tipos de classe, como classes definidas pelo usuário, tipos de valor em caixa e delegados).
Embora as operações em variáveis de um tipo de valor não afetem nenhuma outra variável, as operações em variáveis de um tipo de referência podem afetar o mesmo objeto referido por outra variável. Quando as referências são feitas no escopo de um assembly, dois tipos com o mesmo nome, mas em assemblies diferentes são definidos como dois tipos distintos, enquanto ao usar namespaces, o tempo de execução reconhece o nome completo de cada tipo (como System.Object, System.String, etc.). O rico conjunto de tipos no CTS tem uma semântica bem projetada de forma que eles podem ser amplamente usados como um tipo base em linguagens baseadas em Common Language Runtime (CLR). É por isso que todos os desenvolvedores .NET devem ter um conhecimento completo do CTS.