Pular para o conteúdo principal

Questão de Programação — Visual Basic — Avança SP 2025

ProgramaçãoVisual Basic
Código
qg421217
Banca
Avança SP
Órgão
Prefeitura de Morungaba - SP
Ano
2025
Nível
Médio
Cargo
Técnico em Informática
Analise os atributos no Visual Basic:I) Os atributos têm a capacidade de inserir metadados no programa.II) Pode-se aplicar um ou mais atributos a assemblies completos, módulos ou partes de programas menores, como classes e atributos.III) Os atributos não têm permissão para aceitar argumentos contidos em métodos e propriedades.Existem declarações verdadeiras em:
  1. AApenas I.
  2. BI, II e III.
  3. CI e III.
  4. DIII e II
  5. EI e II.
Revelar gabarito e comentário

GabaritoE — I e II.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Atributos no Visual Basic

Gabarito: letra E. Os itens I e II estão corretos: atributos inserem metadados no programa e podem ser aplicados a assemblies, módulos, classes e outros elementos; o item III está incorreto, pois atributos podem aceitar argumentos (por exemplo, em métodos e propriedades). A alternativa correta é a letra E (I e II).

Atributos são um recurso de metadados presente em linguagens como Visual Basic e C#. Eles permitem anexar informações declarativas ao código, que podem ser consultadas em tempo de execução por meio de reflexão. Essas informações não alteram diretamente o comportamento do programa, mas servem para descrever características, configurar comportamentos ou fornecer dados para ferramentas e frameworks.

A capacidade de aplicar atributos é ampla: eles podem ser usados em assemblies, módulos, classes, métodos, propriedades, campos, parâmetros e até mesmo em retornos de métodos. Além disso, é possível aplicar múltiplos atributos a um mesmo elemento, e muitos atributos aceitam argumentos, que são passados ao construtor do atributo. Por exemplo, um atributo pode receber uma string ou um valor numérico para configurar seu comportamento.

A pegadinha da questão está no item III, que afirma que atributos não podem aceitar argumentos. Isso é falso: atributos podem (e frequentemente devem) receber argumentos, como no caso de Obsolete("Use o novo método") ou Serializable(). O candidato que não conhece essa possibilidade pode marcar a alternativa C (I e III), caindo na armadilha.

Para resolver a questão, basta analisar cada item:

1O que são
Inserem metadados no programa
Consultáveis em tempo de execução (reflexão)
2Onde aplicar
Assemblies e módulos
Classes, métodos, propriedades
Campos, parâmetros, retornos
3Argumentos
Podem aceitar argumentos
Ex.: Obsolete("mensagem")
Ex.: Conditional("DEBUG")
Atributos (VB/.NET)
LEVELsoulevel.com.br
Atributos (VB/.NET): O que são (Inserem metadados no programa, Consultáveis em tempo de execução (reflexão)); Onde aplicar (Assemblies e módulos, Classes, métodos, propriedades, Campos, parâmetros, retornos); Argumentos (Podem aceitar argumentos, Ex.: Obsolete("mensagem"), Ex.: Conditional("DEBUG"))

Item I — ✅ Correto

Os atributos têm a capacidade de inserir metadados no programa. Isso é exatamente a definição de atributos: eles adicionam informações declarativas (metadados) ao código, que podem ser lidas em tempo de execução.

Item II — ✅ Correto

Pode-se aplicar um ou mais atributos a assemblies completos, módulos ou partes de programas menores, como classes e atributos. A afirmação está correta, pois atributos podem ser aplicados a diversos elementos do código, incluindo assemblies, módulos, classes, métodos, propriedades, etc.

Item III — ❌ Incorreto

Os atributos têm permissão para aceitar argumentos contidos em métodos e propriedades. Na verdade, muitos atributos aceitam argumentos, que são passados ao construtor do atributo. Por exemplo, Obsolete("mensagem") ou Conditional("DEBUG"). A afirmação de que não podem aceitar argumentos é falsa.

Conclusão: Corretos os itens I e II → portanto, a alternativa é a letra E.

NÃO CAIA NESSA!

A banca inverte a capacidade dos atributos de aceitar argumentos. O candidato que não conhece a possibilidade de passar argumentos a atributos (como em Obsolete("mensagem")) pode marcar a alternativa C (I e III), mas o item III é falso. Lembre-se: atributos podem receber argumentos, e isso é comum em muitos atributos do .NET.

PEGA ESSA DICA!

Para questões sobre atributos, lembre-se de que eles são metadados e podem ser aplicados a vários elementos. Verifique sempre se a afirmação sobre argumentos é verdadeira — na maioria dos casos, atributos aceitam argumentos. Estude os atributos mais comuns do .NET, como Obsolete, Serializable, Conditional e AttributeUsage.

Gabarito: letra E

Link permanente: /questoes/qg421217