0

2 つの辞書があるとします。

Dim dict1 as new dictionary(Of Integer, String)
Dim dict2 as new dictioanry(Of customType, customtype2)

メソッドでそれらをリストに変換し、引数の辞書値型のリストを返したいと考えています。そう....

Public Function DictToListConverter(ByVal argDict as Dictionary(Of Object, Object), ByVal argType as Type) **What goes here.

呼び出しルーチンで戻り値をキャストできることはわかっていますが、それは最善の解決策ではありません。値を含むカスタム クラスを返したくありません。つまり、次のことを行う方法を探しています。

Dictionary(Of Integer, String ) を渡し、List(Of String )の戻り値を取得します

同時に、( String 、Booleanの)辞書を渡すと、関数は List(of Boolean )を返す必要があります

これは不可能のように見えます。クラス/構造体を使用するか、呼び出しルーチンでオブジェクトをキャストする必要があります。このリクエストが可能かどうかを確認したかっただけです。

もう一度、ありがとう!

4

2 に答える 2

2

.Net 3.5 以降を使用していると仮定すると、次のようにして実行できます...

Public Function DictToListConverter(Of TKey, T)(dict As Dictionary(Of TKey, T)) As List(Of T)
    Return dict.Select(Function(i As KeyValuePair(Of TKey, T)) i.Value).ToList()
End Function
于 2013-02-21T15:06:57.653 に答える
0

List(Of Object)、、またはを使用する必要がありますArrayList。これはほぼ同じです。

于 2013-02-21T14:36:26.360 に答える