在 C# 4.0b 中使用动态参数调用内部构造函数会导致以下异常
System.ArgumentNullException:值不能为空。参数名称:构造函数
示例代码(感谢 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
似乎他们为新版本修复了它。