簡體   English   中英

將代碼段從C#轉換為VB.NET

[英]Converting Code Snippet from C# to VB.NET

所有自動化的在線轉換器都無法轉換此代碼。 不幸的是,我對C#的簡短了解也讓我失望。 該代碼來自一個博客,該博客與我的另一個問題相關聯。

這是C#中的代碼片段;

        var virtualFileDataObject = new VirtualFileDataObject();
        virtualFileDataObject.SetData(new VirtualFileDataObject.FileDescriptor[]
        {
            new VirtualFileDataObject.FileDescriptor
            {
                Name = "abc.txt",
                StreamContents = stream =>
                    {
                        using(var webClient = new WebClient())
                        {
                            var data = webClient.DownloadData("http://www.google.com");
                            stream.Write(data, 0, data.Length);
                        }
                    }
            },
        });

我目前在VB.NET中(刪除了一些嵌入式內容);

    Dim virtualFileDataObject = New VirtualFileDataObject()
    Dim vf As New VirtualFileDataObject.FileDescriptor()

    vf.Name = "abc.txt"
    vf.StreamContents = ??

    Using webc As New WebClient()
        Dim data = webc.DownloadData("http://www.google.com")
        stream??.Write(data, 0, data.Length)
    End Using

    virtualFileDataObject.SetData(vf)

您的幫助將不勝感激!

StreamContents使用匿名方法設置,VB.NET不支持該方法(但在.NET 4.0中出現的VB.NET 10中支持)。 我可以建議的下一個最佳方法是:

vf.StreamContents = AddressOf(MyStreamContents)

Public Sub MyStreamContents(ByVal stream As <Whatever the type is>)

  Using webc As New WebClient()
        Dim data = webc.DownloadData("http://www.google.com")
        stream.Write(data, 0, data.Length)
    End Using

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM