C# 4.0b で動的引数を使用して内部コンストラクターを呼び出すと、次の例外が発生します。
System.ArgumentNullException: 値を null にすることはできません。パラメータ名:コンストラクタ
サンプルコード (Jon Skeet に感謝)
public class Test
{
internal Test(string x)
{
}
static void Main()
{
dynamic d = "";
new Test(d);
}
}
ランタイムは、正しいものを選択しようとしているときに、内部コンストラクターを考慮していないようです。これはバグのようですので、Connect に投稿しました: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=472924
新しいバージョンで修正されたようです。