私はこの拡張メソッドを書いた:IEnumerable <dynamic>に変換しますか?
public static class A
{
public static IEnumerable<dynamic> AsDynamic<T>(this IEnumerable<T> f)
{
foreach (var element in f)
{
yield return (dynamic) element;
}
}
}
をして、それをテストした:
List<int> l = new List<int>(){1,2,3};
Console.WriteLine (l.AsDynamic().GetType());
出力があるしかし:typeof (IEnumerable<Object>)
それは
typeof (IEnumerable<dynamic>)
ないのはなぜ?どのように私はそれのようにすることができますか?
["ほとんどの場合、型オブジェクトのように機能します。"](http://msdn.microsoft.com/en-us/library/dd264736.aspx) –
実行時には 'dynamic'型はありませんそれらは単にオブジェクトとしてタイプされ、メソッドバインディング情報は動的変数を含む各呼び出しサイトで出力されます。 – Lee