SóProvas


ID
205402
Banca
FEPESE
Órgão
SEFAZ-SC
Ano
2010
Provas
Disciplina
Programação
Assuntos

Verifique quais das seguintes afirmativas, a respeito do desenvolvimento de programas utilizando o Microsoft Visual Studio 2005 e o .NET Framework 2.0, são verdadeiras.

1. O Visual Studio pode produzir módulos (assemblies) com nomes universalmente únicos, chamados de nomes fortes (strong names), que garantem a exclusividade do nome através do uso de pares de chaves criptográficas.

2. O Visual Studio pode proteger módulos (assemblies) de modo a impedir a sua descompilação, ou seja, a obtenção do código fonte a partir da linguagem intermediária gerada pela sua compilação.

3. É possível desenvolver em C# uma subclasse de uma classe pública escrita em VB.NET.

4. É possível desenvolver parte dos métodos de uma mesma classe na linguagem C# e outra parte em VB.NET utilizando o mecanismo de classes parciais.

Assinale a alternativa que indica todas as afirmativas corretas.

Alternativas
Comentários
  • Explicação dada pelos professores Lênin e Júnior do Estratégia Concursos:

    "Um nome forte (Strong names) consiste na identidade do assembly — seu nome de texto simples, número de versão, e informações de cultura (se fornecido) — mais uma chave pública e uma assinatura digital. Ele é gerado de um arquivo de assembly usando a chave privada correspondente. (O arquivo do assembly contém o manifesto do assembly, que contém os nomes e hashes de todos os arquivos que compõem o assembly.) tornando este nome forte e único universalmente.
      Assemblies são os blocos de construção de aplicativos do .NET Framework; eles formam a unidade fundamental de implantação, controle de versão, reuso, ativação de escopo e permissões de segurança. Um assembly fornece ao Common Language Runtime as informações necessárias para estar ciente das implementações de tipo. Os Assemblies são compiláveis, ou seja, é através deles que o JIT gera o MSIL. Item 2 errado.
      É possível desenvolver em C# uma subclasse de uma classe pública escrita em VB.NET graças a Interoperabilidade de linguagem, onde, compiladores de linguagens que direcionam o .NET Framework emitem um código intermediário chamado de Linguagem Intermediária Comum (CIL), que, por sua vez, é compilado em tempo de execução pela common language runtime (CLR). Com esse recurso, as rotinas escritas em uma linguagem tornam-se acessíveis a outras linguagens, e os desenvolvedores podem focar na criação de aplicativos em sua linguagem ou linguagens preferenciais. Item 3 certo.
      Você pode dividir a definição de uma classe ou estrutura entre diversas declarações usando a Partial palavra-chave. Você pode usar declarações parciais de tantas quantas desejar, nos arquivos de origem diferentes quantos desejar. No entanto, todas as declarações devem estar no mesmo assembly e o mesmo namespace. Item 4 errado.
  • A 3 só é verdadeira se a subclasse e classe não estiverem no mesmo package. Não foi informado isso na questão

  • Prezados,

    O item 3 está errado, as subclasses em C# tem que ser criadas na linguagem C# mesmo.
    O item 4 está errado. No C# podemos definir uma classe, struct ou interface ou um método em dois ou mais arquivos de origem , mas tem que ser em C#.

    Portanto a alternativa correta é a letra B