none
Criando função em uma classe RRS feed

  • Pergunta

  • Como eu faço para criar uma função em uma classe, tendo em vista que estou fazendo referencia a objetos que ainda não existem, que so serão criados depois no form, como textbox. A função é essa:

    If textbox1.Text = "teste1" Then
    textbox2.Text = "1"
    textbox3.Text = "1"
    End If
    If textbox1.Text = "teste2" Then
    textbox2.Text = "2"
    textbox3.Text = "2"
    End If
    Eu preciso criar essa função na classe, para depois eu usar ela no form ai quando eu for fazer uma atualização so substituo a dll que sera gerada da classe. 



    terça-feira, 4 de junho de 2013 20:20

Respostas

  • iai UserDeveloper Blzzz,

     

    Crie a sua classe  com duas propriedades e um métodos com parâmetro de entrada :

    Obs. depois você pode fazer o método conforme a sua necessidade OK

    Public Class SuaClasse    Public textbox2 As String
        Public textbox3 As String

    Public Sub SuaFuncao(textbox1 As String) If textbox1 = "teste" Then textbox2 = "1" textbox3 = "1" End If If textbox1 = "teste2" Then textbox2 = "2" textbox3 = "2" End If End Sub End Class

    E no formulário você deve apenas fazer a instancia da classe que você criou  e passar o parâmetro do Textbox que tem o valor blzzzz

    Dim SeuObjeto As New SuaClasse() SeuObjeto.SuaFuncao(TextBox1.Text) MessageBox.Show("O retorno da Classe é :" + SeuObjeto.textbox2 +

    " e " + SeuObjeto.textbox3)


    Se Funcionar marque como resposta Blzz


    Diego Almeida Barreto System Analyst / Software Developer

    • Marcado como Resposta UserDeveloper quarta-feira, 5 de junho de 2013 02:13
    terça-feira, 4 de junho de 2013 22:01
  • Ok, você adicionou a referencia porem não enxerga o SuaClasse() correto, se estiver tudo ok é só vc ir no começo do seu código e  Importar a NameSpace 

    'ex :
    Imports System.Web
    'no seu caso 
    Imports suaAplicacao.localdoProjetoondeEstaAClass
    ai você consiguirá criar o objeto Dim SeuObjeto As New SuaClasse() 
    blzzzzz 

    se der certo Marque como útil blzz


    Diego Almeida Barreto System Analyst / Software Developer

    • Marcado como Resposta UserDeveloper quarta-feira, 5 de junho de 2013 02:14
    quarta-feira, 5 de junho de 2013 02:11

Todas as Respostas

  • Bom, na classe que tu está fazendo você pode simplesmente implementar um método que receba esse TextBox. Ex: 
    public class ClasseLegal
    {
       public void FazAlgo(TextBox txt)
       {
         //sua implementação
       }
    }


    terça-feira, 4 de junho de 2013 21:38
  • iai UserDeveloper Blzzz,

     

    Crie a sua classe  com duas propriedades e um métodos com parâmetro de entrada :

    Obs. depois você pode fazer o método conforme a sua necessidade OK

    Public Class SuaClasse    Public textbox2 As String
        Public textbox3 As String

    Public Sub SuaFuncao(textbox1 As String) If textbox1 = "teste" Then textbox2 = "1" textbox3 = "1" End If If textbox1 = "teste2" Then textbox2 = "2" textbox3 = "2" End If End Sub End Class

    E no formulário você deve apenas fazer a instancia da classe que você criou  e passar o parâmetro do Textbox que tem o valor blzzzz

    Dim SeuObjeto As New SuaClasse() SeuObjeto.SuaFuncao(TextBox1.Text) MessageBox.Show("O retorno da Classe é :" + SeuObjeto.textbox2 +

    " e " + SeuObjeto.textbox3)


    Se Funcionar marque como resposta Blzz


    Diego Almeida Barreto System Analyst / Software Developer

    • Marcado como Resposta UserDeveloper quarta-feira, 5 de junho de 2013 02:13
    terça-feira, 4 de junho de 2013 22:01
  • Funcionou, mas isso em um projeto de windows forms, não há como fazer funcionar em um projeto de livraria de classes? Tentei fazer isso, transformei a classe em uma dll, depois criei um projeto windows forms, e adicionei referencia a livraria, mas esta dando erro na primeira linha : 

    Dim SeuObjeto As New SuaClasse()

    Diz que, SuaClasse não está definido, mas porque?Eu adicionei a dll nas referencias

    quarta-feira, 5 de junho de 2013 02:00
  • Ok, você adicionou a referencia porem não enxerga o SuaClasse() correto, se estiver tudo ok é só vc ir no começo do seu código e  Importar a NameSpace 

    'ex :
    Imports System.Web
    'no seu caso 
    Imports suaAplicacao.localdoProjetoondeEstaAClass
    ai você consiguirá criar o objeto Dim SeuObjeto As New SuaClasse() 
    blzzzzz 

    se der certo Marque como útil blzz


    Diego Almeida Barreto System Analyst / Software Developer

    • Marcado como Resposta UserDeveloper quarta-feira, 5 de junho de 2013 02:14
    quarta-feira, 5 de junho de 2013 02:11
  • Não precisou adicionar o Imports, so adicionei class1 depois do SuaClasse()

    Ficou assim: Dim SeuObjeto As New SuaClasse.class1()

    quarta-feira, 5 de junho de 2013 02:16
  • Não precisou adicionar o Imports, so adicionei class1 depois do SuaClasse()

    Ficou assim: Dim SeuObjeto As New SuaClasse.class1()

    Funcionou ou não? Não esqueça de que a classe deve ser "public" para que possa "enxerga-la" quando quiser usar no seu projeto
    quarta-feira, 5 de junho de 2013 15:26
  • Sim, funcionou e deixei como Public, obrigado.
    quinta-feira, 6 de junho de 2013 00:19
  • Mas a dll gerada deixa exposta a maioria do código, não há como ofuscar o código? Por exemplo, em html eu usava javascript para ofuscar,usando o unescape(acho que e assim que se escreve), não tem uma forma semelhante para o vb.net?
    quinta-feira, 6 de junho de 2013 00:25