| 

.NET C# Java Javascript Exception

2
Hallo zusammen,

ich versuche Quellcode von einem C#-Beispiel in VB.NET umzusetzen.

Der Delegate ist in einer Klasse wie folgt beschrieben:

public delegate void DataIsReady(List<string> hotData);


Das lässt sich relativ leicht in VB.NET umsetzen mit:

Public Delegate Sub DataIsReady(ByVal hotData As List(Of String))


Nun gibt es ein Stück Code, was diesem Delegate irgendwas zuweist, und das kann ich nicht ganz nachvollziehen:

public PipeService.DataIsReady Data
{
get
{
return _ps.DataReady;
}
set
{
_ps.DataReady += value;
}
}

Meiner Auffassung nach wird da was addiert, aber das kann ja nicht sein.

Wie würde man diesen zweiten Teil korrekt in VB.NET umsetzen?

Vielen Dank für eure Hilfe!

Benjamin
31.03.2011
Benjamin 141 1 6
1 Antwort
1
Hier die Übersetzung:

Public Property Data() As PipeService.DataIsReady
Get
Return _ps.DataReady
End Get
Set
_ps.DataReady = [Delegate].Combine(_ps.DataReady,value)
End Set
End Property


Das Delegate kannst du dir wir eine Liste von Funktionspointern vorstellen. Alle dem Delegate zugewiesenen Methoden werden der reihe nach ausgeführt.
31.03.2011
Floyd 14,6k 3 9
Floyd 14,6k 3 9
Das habe ich probiert, funktioniert aber nicht (das ist ja einfach die 1:1 Code-Übersetzng).
Die Fehlermeldung lautet "Der +-Operator ist für den Typ .... nicht definiert".
Benjamin 31.03.2011
probier es mal mit "&=" (nur so ein Schuss ins blaue)
Floyd 31.03.2011
Gleiche Fehlermeldung, nur mit "&-Operator"... :( Ich vermute, dass hier bei einem Delegate irgendwas ganz anders gemacht werden muss unter VB.Net als unter C#... ich weiß leider nur nicht, was...
Benjamin 31.03.2011
So, laut MSDN sollst mit "[Delegate].Combine" gehen. Hab mein Beispiel angepasst. Es handelt sich hierbei übrigens um so genannte "Multicast Delegates".
Floyd 31.03.2011

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH