JSONHashtableに変換する他の誰かのライブラリを使用しています。ArrayListこのライブラリで定期的に使用したいList<T>ので、そのようなリストをに変換する必要がありますArrayList。
次のようなクラスがあるとします。
public class Foo
{
public int MyInt;
public string MyString;
public List<float> MyList;
}
Hashtableこのクラスのインスタンスを、Hashtable のキーがクラス変数名であり、Hashtable の値がインスタンスの値であるに変換するにはどうすればよいですか? List<T>さらに、クラス変数をArrayListthisのようにエンコードしたいと思いますHashtable。
私はこの開始を試みました:
private Hashtable convertModelInstanceToHashtable<T>(T instance)
{
Hashtable encodedTable = new Hashtable();
var fieldNames = typeof(T).GetFields()
.Select(field => field.Name)
.ToList();
foreach(var fieldName in fieldNames)
{
var encodedValue = fieldName.GetValue(instance);
// NEED HELP HERE: statement for type to convert
// List<T> to ArrayList
encodedTable.Add(fieldName.ToString(), encodedValue);
}
return encodedTable;
}
この始まりは意味がありますか?これを行うのが最善の方法ですか?タイプ、特に List タイプの switch ステートメントを実装する方法がわかりません。