ID 205414 Banca FEPESE Órgão SEFAZ-SC Ano 2010 Provas FEPESE - 2010 - SEFAZ-SC - Auditor Fiscal da Receita Estadual - Parte III - Tecnologia da Informação Disciplina Programação Assuntos .Net Assinale a alternativa correta a respeito da passagem de parâmetros nas linguagens de programação VB.NET e C#. Alternativas Em VB.NET os parâmetros são passados por referência, exceto quando a palavra reservada ByVal é associada ao parâmetro na assinatura da função ou subrotina, indicando que ele deve ser passado por valor. Em C#, para passar um parâmetro por valor, a palavra reservada val deve ser usada na assinatura do método, precedendo o tipo associado ao referido parâmetro. Em VB.NET, para passar um parâmetro por valor, a palavra reservada ByVal deve ser usada na definição da assinatura da função ou subrotina, precedendo o identificador do parâmetro. Em C#, para passar um parâmetro por referência, a palavra reservada ref deve ser usada na assinatura do método, precedendo o tipo associado ao referido parâmetro, e na invocação do método, precedendo o valor do argumento. Em VB.NET, para passar um parâmetro por referência, a palavra reservada ByRef deve ser usada na chamada da função ou subrotina, precedendo o valor do argumento. O mesmo comportamento pode ser obtido em C# utilizando a palavra reservada ref em uma chamada de método. Responder Comentários Entendo que a alternativa C esteja correto pois em VB.NET definimos o parametro por valor atraves de ByVal na assinatura da funcao ou subrotina. A C está incorreta. Você não precisa declarar a palavra ByVal para passar a variável por valor, essa é a opção Default. Se nada for explicitado, então é por valor. Prezados,Em C# , a palavra chave ref indica que um valor é passado por referência.https://docs.microsoft.com/pt-br/dotnet/csharp/lan...Portanto a alternativa correta é a letra D É verdade. O que invalida a assertiva é a palavra "deve". Pq senão, estaria correta. Public Sub ChangeFieldValue(ByVal cls As Class1) cls.Field = 500 End Sub