none
de C# para VB RRS feed

  • Pergunta

  • Estou fazendo umas aulas aqui de mvc e entity. Elas estão em C# mas estou mais acostumado com o VB. Achei um código aqui que não consegui compreender e os conversores online geram um erro e dizem que não é possivel converter

    Produtos modelo = new Produtos
    {
    
    Pagina = new Paginacao
    {
    
    Pagina atual = Pagina,
    
    ...
    
    }
    
    }

    Imaginei que forre 
    Dim modelo as Produtos = new Produtos

    Mas ai ele insere  a "{" e a "}"

    Uma ajuda por favor.


    quinta-feira, 22 de janeiro de 2015 17:53

Respostas

  • O nome desse recurso é "object initializer". Com ele você instancia um objeto e já preenche suas propriedades, dentro de chaves, evitando repetir seguidas vezes o nome da instância. Por exemplo:

    Cliente cli = new Cliente();
    cli.Nome = "Junior";
    cli.Email = "junior@email.com";
    cli.Telefone = "1234-5678";

    Poderia ser substituído por:

    Cliente cli = new Cliente()
    {
      Nome = "Junior",
      Email = "junior@email.com",
      Telefone = "1234-5678"
    };

    O equivalente em VB.NET seria algo nesse formato:

    Dim cli As New Cliente With {.Nome = "Junior", 
                                 .Email = "junior@email.com",
                                 .Telefone = "1234-5678"}

    Consulte a documentação da MSDN para maiores detalhes sobre esse recurso em VB.NET: Object Initializers: Named and Anonymous Types (Visual Basic).

    Espero ter ajudado.

    • Marcado como Resposta jjunior.net quinta-feira, 22 de janeiro de 2015 19:03
    quinta-feira, 22 de janeiro de 2015 18:59

Todas as Respostas

  • Ao que me parece, pode estar utilizando o polimorfismo. O polimorfismo se baseia em um relacionamento de herença entre a super classe e suas sub classes.

    Atenciosamente, Marcio Nogueira Cardoso Pinto.

    quinta-feira, 22 de janeiro de 2015 18:17
  • O nome desse recurso é "object initializer". Com ele você instancia um objeto e já preenche suas propriedades, dentro de chaves, evitando repetir seguidas vezes o nome da instância. Por exemplo:

    Cliente cli = new Cliente();
    cli.Nome = "Junior";
    cli.Email = "junior@email.com";
    cli.Telefone = "1234-5678";

    Poderia ser substituído por:

    Cliente cli = new Cliente()
    {
      Nome = "Junior",
      Email = "junior@email.com",
      Telefone = "1234-5678"
    };

    O equivalente em VB.NET seria algo nesse formato:

    Dim cli As New Cliente With {.Nome = "Junior", 
                                 .Email = "junior@email.com",
                                 .Telefone = "1234-5678"}

    Consulte a documentação da MSDN para maiores detalhes sobre esse recurso em VB.NET: Object Initializers: Named and Anonymous Types (Visual Basic).

    Espero ter ajudado.

    • Marcado como Resposta jjunior.net quinta-feira, 22 de janeiro de 2015 19:03
    quinta-feira, 22 de janeiro de 2015 18:59