DaniloTec 0 Denunciar post Postado Julho 16, 2010 Tarde, gente. E tenho uma dúvida com relação a criação de objetos em um projeto. Eu conheço duas formas de se criar métodos dentro de um objeto: Método 1 //PROPRIEDADES private int _codCliente; public int CodCliente { get { return this._codCliente; } set { this._codCliente = value; } } //MÉTODO public string strDescCliente() { ... this.CodCliente; return "Resultado"; } Método 2 //MÉTODO public string strDescCliente( int CodCliente ) { ... return "Resultado"; } O primeiro método eu declaro uma variável pública e outra privada. Na aplicação eu alimento a variável pública e na classe eu trabalho com a variável privada. No segundo eu não declaro variáveis no projeto, eu simplesmente alimento os parâmetros do método e trabalho com ele como quero. Eu sempre usei estas duas formas, mas não sei a diferença e nem quando usar uma e usar outra. Alguém poderia me explicar? Vlw Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Julho 19, 2010 Teoricamente falando não sei qual é a regra também, mas só crio a propriedade quando tenho que utilizar ela em mais de um lugar e não somente em um método. Se for para utilizar somente no método crio como parâmetro de entrada. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Thompson 0 Denunciar post Postado Julho 19, 2010 Tanto uma forma como outra é correta e depende muito da utilização que será dada a ela. Um exemplo clássico dessas duas utilizações é quando você trabalha com webservices. Por exemplo, se você instanciar uma classe que vem de um webservice, você não vai poder usar o método 1... vai te dar problema pelo seguinte: cada chamada a algum método de uma classe de um webservice é uma nova instância de objeto feita pelo .net. Isso quer dizer que o .net vai limpar todas as variáveis internas da classe a cada chamada de algum método do webservice. Isso te obriga a passar parâmetros pra esses métodos em TODAS as chamadas que você fizer a eles. Eu passei por esse problema, tentei usar variáveis internas da classe num webservice e não deu certo.. o .net sempre as limpava. Agora, se você tem um objeto local mesmo, tanto faz usar um método ou outro. Eu prefiro o método 1, pois evita ficar passando montes de parâmetros para os métodos a cada chamada... Abraços! Compartilhar este post Link para o post Compartilhar em outros sites