0

すべての自動化されたオンライン コンバーターは、このコードを変換できませんでした。残念ながら、私の 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)

あなたの助けは大歓迎です!

4

1 に答える 1

0

StreamContentsVB.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
于 2010-03-07T09:18:55.957 に答える