none
definizione variabili RRS feed

  • Domanda

  • Ciao a tutti...come si definisce una variabile che è valida per tutti i form di uno stesso progetto in visual basic 2008 express edition?

    public <nome variabile> as integer  scritto nella sezione generale non me lo accetta.

    grazie!

    venerdì 23 aprile 2010 13:42

Risposte

  • Oppure puoi usare i moduli, che sono l'equivalente delle classi statiche di altri linguaggi. Utilizzando un modulo, l'esempio di Massimo si riscrive così:

    'Per default non può essere ereditato e

    'non necessita di costruttore vuoto privato

    Module

     

     

    GlobalVariable

     

     

        Private _MaxValue As Integer

     

     

        Public Property MaxValue() As Integer

     

     

        Get

     

     

           Return _MaxValue

     

     

        End Get

     

     

        Set(ByVal value As Integer)

           _MaxValue = value

     

     

        End Set

     

     

        End Property

    End

     

     

    Module

    A differenza delle classi, per richiamare un oggetto definito in un modulo puoi omettere il nome del modulo stesso (es. MaxValue e non GlobalVariables.MaxValue anche se tale impostazione di default può essere modificata).


    Alessandro Del Sole - Microsoft MVP %0D http://community.visual-basic.it/Alessandro
    sabato 24 aprile 2010 16:53

Tutte le risposte

  • VB.NET è un linguaggio orientato agli oggetti, quindi, uno dei modi con cui puoi definire un oggetto il cui valore è globale è definire una classe con delle proprietà shared come la seguente:

    Public NotInheritable Class GlobalVariables
     Private Sub New()
    
     End Sub
    
    
     Private Shared _MaxValue As Integer
    
     Public Shared Property MaxValue() As Integer
      Get
       Return _MaxValue
      End Get
      Set(ByVal value As Integer)
       _MaxValue = value
      End Set
     End Property
    
    End Class

    In questo caso MaxValue (ad esempio) è accessibile da tutta la tua applicazionee puoi utilizzarla con la sintassi:

    Dim localValue = GlobalVariables.MaxValue

    Personalmente, però cerco di essere parsimonioso con le "variabili globali".

    venerdì 23 aprile 2010 14:35
    Moderatore
  • Oppure puoi usare i moduli, che sono l'equivalente delle classi statiche di altri linguaggi. Utilizzando un modulo, l'esempio di Massimo si riscrive così:

    'Per default non può essere ereditato e

    'non necessita di costruttore vuoto privato

    Module

     

     

    GlobalVariable

     

     

        Private _MaxValue As Integer

     

     

        Public Property MaxValue() As Integer

     

     

        Get

     

     

           Return _MaxValue

     

     

        End Get

     

     

        Set(ByVal value As Integer)

           _MaxValue = value

     

     

        End Set

     

     

        End Property

    End

     

     

    Module

    A differenza delle classi, per richiamare un oggetto definito in un modulo puoi omettere il nome del modulo stesso (es. MaxValue e non GlobalVariables.MaxValue anche se tale impostazione di default può essere modificata).


    Alessandro Del Sole - Microsoft MVP %0D http://community.visual-basic.it/Alessandro
    sabato 24 aprile 2010 16:53