0

我有以下 Windows Phone 7 应用程序的示例代码,我正试图将其转换为 VB.Net 作为起点。像这样的作业:

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

当我使用 C# 到 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();
        };
}
4

1 回答 1

3

Loaded事件处理程序是在您使用 lambda 表达式发布的 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(阅读下面的评论)。

于 2012-04-16T17:01:00.797 回答