2009-06-20 28 views
0

C#(1.1フレームワーク)からVB.NET(3.5フレームワーク)にアプリケーションを移植しています。C#からVB.NETへのイベント変換

これは、これは、変換されたVB.NETコード

Public Delegate Sub SpecialEventHandler(ByVal sender as Object, ByVal e as SpecialEventArgs) 
Public Event SpecialEvent as SpecialEventHandler 

Dim SpecialWriter as New _SpecialLogWriter(Me.SpecialEvent) 

SpecialLogWriterコンストラクタはSpecialEventHandlerを期待するが、SpecialLogWriterのコンストラクタでMe.SpecialEventされ、元のC#コード

public delegate void SpecialEventHandler(object sender,SpecialEventArgs e); 
public event SpecialEventHandler SpecialEvent = null; 

_SpecialLogWriter SpecialWriter = new _SpecialLogWriter(this.SpecialEvent); 

ありますこれはイベントであり、直接呼び出すことはできないというエラーメッセージを表示します。

私は別の代理人がいないのですか、これは言語間のこの宣言問題のちょうど1つですか?

+0

戻り値の型のイベントを作成できないようです。私の投稿の助けをいただければ幸いです。http://stackoverflow.com/questions/2624886/vb-equivalent-of-c-event-creation – Steven

答えて

0

私は、元のコードが正しく動作するかどうか疑問に思っています。私は単にSpecialEvent宣言からイベントタグを削除しましたが、この時点ですべてが動作しているようです。

0

コンストラクタはイベントハンドラを必要としますが、イベントハンドラではなくイベントを渡しているとします。

Dim SpecialWriter as New _SpecialLogWriter(New SpecialEventArgs())