Criar tipos de valor (estruturas, enum), tipos de referência, tipos genéricos, construtores, variáveis estáticas,
métodos, classes, métodos de extensão, parâmetros opcionais e nomeados e propriedades indexadas; criar
métodos sobrecarregados e substituídos
Box ou unbox para converter entre tipos de valor; tipos elenco; converter tipos; lidar com tipos dinâmicos;
garantir a interoperabilidade com código não gerenciado, por exemplo, a palavra-chave dinâmica
Aplicar encapsulamento usando propriedades, usando acessadores (públicos, privados, protegidos) e usando
implementação explícita da interface