1

次の C# コードを VB.NET に変換するにはどうすればよいですか?

変換ツールがうまく機能していません。

private static readonly Dictionary<string, List<string>> ValidHtmlTags = new Dictionary<string, List<string>> {
    { "param", new List<string>() {"name","value"}},
    { "object", new List<string>() {"id","type"}},
    { "embed", new List<string>() {"src","type","wmode"}}
};
4

4 に答える 4

10

その答えは、VB.NET 3.5 がコレクションの初期化構文をサポートしていないことだと思います。

.NET 4 の VB.NET は、次のようにコレクション初期化子をサポートしています。

Dim days = New Dictionary(Of Integer, String) From
    {{0, "Sunday"}, {1, "Monday"}}

前のコード例は、次のコードと同等です。

Dim days = New Dictionary(Of Integer, String)
days.Add(0, "Sunday")
days.Add(1, "Monday")
于 2009-12-30T22:21:07.133 に答える
6

次のようなものが必要です(.NET 3.5の場合):

Shared Sub New()
    Dim dict As New Dictionary(Of String, List(Of String))
    Dim l1 As New List(Of String)
    l1.Add("name")
    l1.Add("value")
    dict.Add("param", l1)
    Dim l2 As New List(Of String)
    l2.Add("id")
    l2.Add("type")
    dict.Add("object", l2)
    Dim l3 As New List(Of String)
    l3.Add("src")
    l3.Add("type")
    l3.Add("wmode")
    dict.Add("embed", l3)
    MyClass.ValidHtmlTags = dict
End Sub

Private Shared ReadOnly ValidHtmlTags As Dictionary(Of String, List(Of String))
于 2009-12-30T22:26:04.957 に答える
1
Private Shared ReadOnly ValidHtmlTags As Dictionary(Of String, List(Of String)) = New Dictionary(Of String, List(Of String))

次に、サブまたは関数のどこか:

ValidHtmlTags.Add("param", New List(Of String))
ValidHtmlTags("param").Add("name")
ValidHtmlTags("param").Add("value")

ValidHtmlTags.Add("object", New List(Of String))
ValidHtmlTags("object").Add("id")
ValidHtmlTags("object").Add("type")

ValidHtmlTags.Add("embed", New List(Of String))
ValidHtmlTags("embed").Add("src")
ValidHtmlTags("embed").Add("type")
ValidHtmlTags("embed").Add("wmode")
于 2009-12-30T22:25:44.847 に答える
1

まともな C# <--> VB.NET 変換もオンラインでいくつかあります。http://www.developerfusion.com/tools/convert/csharp-to-vb/を使用して取得します:

Private Shared ReadOnly ValidHtmlTags As New Dictionary(Of String, List(Of String))() 

次に、各 List(Of String) を作成し、ValidHtmlTags に個別に追加します。例えば。

Dim paramList As New List(Of String)()
paramList.Add("name")             
paramList.Add("value")          
ValidHtmlTags.Add("param", paramList)              

VB.NET の List(Of String) コンストラクターに値のリストを渡すことができるかどうかはわかりません。

于 2009-12-30T22:19:10.350 に答える