1

以下のタイプのコードスニペットがあります。

var PersonList = new List<person>() { 
                new person { Name = "b", Age = 4 },
                new person { Name = "s", Age = 2 },
                new person { Name = "e", Age = 5 },
                new person { Name = "a", Age = 1 },
            }.AsQueryable();

// Now somewhere in usercontrol I am converting that list to dynamic.
dynamic DynaList = PersonList;

// Now below line gives me error when I try to perform any on DynaList.
DynaList.ToList(); // Error - BinderException
DynaList.OrderBy("Name"); // Error - BinderException

なぜ動的がそのタイプのランタイムに変換されないのですか?

4

2 に答える 2

2

拡張メソッドがインスタンスのメソッドであるかのように、動的型で拡張メソッドを使用することはできません。このSO の投稿と このSO の投稿 を参照してください。基になる静的クラスで拡張メソッドを使用する必要があります。

于 2013-02-19T15:02:38.827 に答える
0

拡張メソッドは動的型ではサポートされていません。このリンクが理由を説明してくれることを願っています...

于 2013-02-19T15:20:17.023 に答える