Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - sender in class
Forum - C# / VB.NET - sender in class

Avatar
orma674 (Normal User)
Pro


Messaggi: 66
Iscritto: 02/06/2008

Segnala al moderatore
Postato alle 12:29
Venerdì, 12/04/2013
Buongiorno a tutti,
volevo chieder aiuto visto le ricerche senza risultato in internet.
Vorrei costruire una DLL in vb.net con funzioni e subroutine in strutture che rispondono in modo diverso rispetto a chi le chiama.

es:

Public Class Class1
    Structure strTest
        Sub subTest()
            ''' se la struttura è assegnata a n1 rispondi con la compilazione dei fornitori
            ''' se la struttura è assegneta a n2 rispondi con la compilazione dei clienti
        End Sub
    End Structure

    Public n1 As strTest
    Public n2 As strTest
End Class

Questa classe è chiamata più volte da diverse parti del programma.
Come faccio a sapere se la sub all'interno della struttura è chiamata da n1 o n2?

Grazie per la collaborazione.

PM Quote
Avatar
Uno sciame di API (Member)
Pro


Messaggi: 66
Iscritto: 10/07/2012

Segnala al moderatore
Postato alle 17:05
Venerdì, 12/04/2013
Al posto di scrivere
Codice sorgente - presumibilmente C# / VB.NET

  1. Sub subTest()
  2.             ''' se la struttura è assegnata a n1 rispondi con la compilazione dei fornitori
  3.             ''' se la struttura è assegneta a n2 rispondi con la compilazione dei clienti
  4. End Sub


prova a scrivere
Codice sorgente - presumibilmente VB.NET

  1. Sub subTest(Byval n as Integer)
  2. If n = 1 then
  3.  ' se n è 1 rispondi con la compilazione dei fornitori
  4. else
  5.  ' se n è 2 rispondi con la compilazione dei clienti
  6. end if
  7. End Sub


Poi, quando chiami la sub, gli passi 1 se la chiami da n1, o 2 se la chiami da n2. :)

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 18:00
Venerdì, 12/04/2013
Testo quotato

Postato originariamente da orma674:
Come faccio a sapere se la sub all'interno della struttura è chiamata da n1 o n2?



Non puoi; dovrai usare un altro modo per differenziare la chiamata (ad esempio usando il metodo suggerito da Uno sciame di API).


Il mio blog: https://piero.dev
PM Quote
Avatar
orma674 (Normal User)
Pro


Messaggi: 66
Iscritto: 02/06/2008

Segnala al moderatore
Postato alle 9:58
Sabato, 13/04/2013
Quindi se io ho una struttura del tipo:

Structure Albero1
  var1 as Albero2
  var2 as Albero2
end structure

Structure Albero2
  sub a1
    ''codice
  end sub

  sub a2
    ''codice
  end sub
end structure

public main1 as Albero1
public main2 as Albero2

La mia chiamata sarà:

main1.var1.a1

Quando esegue il codice a1 non posso identificare in automatico la traccia della struttura che chiama la sub?
Devo passare sempre il riferimento?

Grazie per la collaborazione.

p.s. Mi hanno suggerito StackTrace, ma non riesco ad ottenere quello che voglio.

PM Quote