私は以下のようなモデルを持っています
public sealed class Person
{
public string MobileNo { get; set; }
public string Firstname { get; set; }
public string Lastname { get; set; }
}
私の実装クラスにはIEnumerable
、パラメータとしてをとるメソッドがあります
public string PersonList(string listName, IEnumerable<Person> persons)
{
dictionary.Add("name", new String[1] { listname });
dictionary.Add("list", persons.ToArray());
PrivateMethod("personList", dictionary);
}
別のプライベートメソッドがあります
private string PrivateMethod(string value, Dictionary<string, object[]> parameters)
{
foreach (KeyValuePair<string, object[]> kvp in parameters)
{
Person[] persons = kvp.Value.Cast<Person>().ToArray();
[...]
}
[...]
}
上記の方法を再利用可能にしたいので、「Person」モデルを緊密に結合したくありません。
ダイナミックを使用できますか?
ContactList(string listName, IEnumerable<dynamic> persons)
そしてプライベートメソッド内
dynamic[] persons = kvp.Value.Cast<
ここでモデルを渡す方法>().ToArray();
解決:
これはうまくいくでしょう、素晴らしい。
dynamic[] persons = kvp.Value.Cast<dynamic>().ToArray();
usr& RuneFSに感謝します