6
私は、匿名関数は動的メソッド呼び出しの引数としてサポートされていないことを知っています。 .NET 4.0のDLRのその他の制限は何ですか?.NET 4.0の動的言語ランタイムにはどのような制限がありますか?
あなた が無名関数を使用することができます私は、匿名関数は動的メソッド呼び出しの引数としてサポートされていないことを知っています。 .NET 4.0のDLRのその他の制限は何ですか?.NET 4.0の動的言語ランタイムにはどのような制限がありますか?
あなた が無名関数を使用することができます、あなただけの最初にそれらをキャストする必要があります。
dynamic list = new List<string>() { "10", "20" };
dynamic converted = list.ConvertAll((Func<string, int>) (x => int.Parse(x)));
同じメソッドグループの変換の真である:私は遭遇した
foo.Click += (EventHandler) MyClickHandler;
その他の制限far:
あなたがのためのインターフェイスで型引数としてdynamic
を使用することはできません型の制約でdynamic
を使用することはできません
class Invalid : IEnumerable<dynamic>
class Valid : List<dynamic>
拡張メソッドは、実行時に発見されない(しかし、あなたは、動的な引数を直接静的メソッドを呼び出すことができます)
dynamic[]
からIEnumerable<dynamic>
に変換できないような4.0b1のバグがあります。これはリリースで修正される予定です。をdynamic
を使用することはできません
偉大な、あなたから答えを得るのは良いです:) – amazedsaint
代議員のすべての用途は、単にanons/lambdaではなく、キャストを必要としませんか?例えばbtn.Click + = MyClickHandler; btnが動的だがClickイベントを持っていれば、それは動作しません。 MyClickHandlerメソッド名の周りにキャストが必要です。 –
@Earwicker:デリゲートのすべての*使用ではありませんが、メソッドグループの変換にはキャストも必要です。それに応じて私の答えが更新されます。 –