Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [vb.net] Chiamare un evento

    Problemino:
    traducendo un codice da C# a Visual sono incappato in questo problema:

    codice:
    if (this.TEvent != null)
    {
        this.TEvent(sender, e);
    }
    ma se lo traduco letteralmente viene fuori:

    codice:
    If Not (Me.TEvent Is Nothing) Then
       Me.TEvent(sender, e)
    End If
    ma poichè TEvent è un evento non può essere chiamato direttamente!!!

    Utilizzando quindi:
    codice:
    RaiseEvent TEvent(sender, e)
    ho risolto la traduzione di:
    codice:
    this.TEvent(sender, e);
    ma non so veramente come fare con:
    codice:
    if (this.TEvent != null) 
    {
        ...
    }
    E' la prima volta che incontro questo problema.
    mi sapreste dare una dritta????

  2. #2
    Forse è meglio che spieghi un pochino di più il risultato che vuoi ottenere .... perchè non si capisce molto bene bene bene.

    Facci sapere....
    Ciao

  3. #3
    Non capisco che cosa non ci sia di chiaro, ma il risultato direi (uso il termine "direi" poichè sto traducendo una Class scritta in C#) che venga valutato il risultato di un evento, se nullo esegue l'evento stesso.

    Ho trovato in giro, sulla guida questo esempio:
    codice:
     public void DemoEvent(string val)
        {
            EventHandler<MyEventArgs> temp = SampleEvent;
            if (temp != null)
                temp(this, new MyEventArgs(val));
        }
    nella versione Visual trovata è:
    codice:
     Public Sub DemoEvent(val As String)
          RaiseEvent SampleEvent(Me, New MyEventArgs(val))
       End Sub 'DemoEvent
    il mio codice da tradurre è tipo:
    codice:
    public event EventHandler<ColorChangedEventArgs> ColorChanged;
    ...
     if (this.ColorChanged!=  null)
                {
                    this.ColorChanged(sender, e);
                }
    mi sembra che semplicemente diventi:
    codice:
    Public Event ColorChangedAs EventHandler(Of ColorChangedEventArgs)
    ...
    RaiseEvent ColorChanged(sender, e)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.