2012-04-16 19 views
0

Windows Phone 7アプリケーションのコード例を以下に示します。VB.Netを開始点に変換しようとしています。このような割り当て:C#で匿名のイベントハンドラをVB.Netに変換する方法

Loaded += (_, __) => { anonymousMethodBody();} 

は、私はC#-to-VB変換ツールを使用する際に変換するのに失敗しています。それらはどのように翻訳されるべきですか?

public MainPage() 
{ 
    InitializeComponent(); 

    Loaded += (_, __) => 
     { 
      PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled; 
      cam = new VideoCamera(); 
      cam.Initialized += (___, ____) => 
       { 
        cam.LampEnabled = true; 
        cam.StartRecording(); 
       }; 
      vCam.SetSource(cam); 

      new Thread(() => 
       { 
        try 
        { 
         var isf = IsolatedStorageFile.GetUserStoreForApplication(); 

         var files = isf.GetFileNames(); 
         foreach (var file in files) 
         { 
          Debug.WriteLine("Deleting... " + file); 
          isf.DeleteFile(file); 
         } 
        } 
        catch (Exception ex) 
        { 
         Debug.WriteLine("Error cleaning up isolated storage: " + ex); 
        } 
       }).Start(); 
     }; 
} 
+0

どのエラーが表示されますか? –

+0

+ =(___、____)=> – Matt9Atkins

+3

と似ているメソッドに関するエラーlambdaの命名規則により、私の目が疲れてしまいます。 – abatishchev

答えて

3

Loadedイベントハンドラを使用すると、ラムダ式を使用して掲示C#コードで定義されています。 VB.NET-C#コンバータのほとんどは、比較的新しくなっているので、これらのコンバータをうまく扱えないと思います。試してみてください:

AddHandler Loaded, Sub() 'Pass the Loaded event parameters, I cannot see them in your code 
        'The code inside the big block 
        End Sub 

RemoveHandler(以下のコメントを参照)に電話する必要はありません。

+0

ハンドラを削除するコードはどこに追加しますか? – Matt9Atkins

+0

イベントハンドラリスナは削除しません。 –

+0

@Tetsujin noi:「Dispose」で削除してはいけませんか? –

関連する問題