小编lon*_*ero的帖子

为什么动态关键字不能用于动态加载的程序集?

我正在研究一个CSharp表达式求值程序,可以使用,如下所示.该组件生成代码并在内存中编译它,之后,它加载生成的程序集,创建生成的类的实例并运行它.结果保存在字典中.

我的问题是所有运行正常,直到最后一行代码失败,异常:

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException'object '不包含'FirstName'的定义.

但是,Visual Studio能够向我展示专业变量内容:

Professional = { FirstName = Juan Pablo, 
                LastName = Ibañez, 
                Certifications = <>f__AnonymousType0`3[System.String,System.String,System.String][], 
                SayHi = System.Action }
Run Code Online (Sandbox Code Playgroud)

这是代码:

    static void Main(string[] args)
    {
        const string data = @"results[""professional""] = 
        new
        {
            FirstName = ""Juan Pablo"",
            LastName = ""Ibañez"",
            Certifications = new[]
            {
                new { Provider=""MSFT"", ExamCode = ""70-536"", Title = ""TS: Microsoft .NET Framework – Application Development Foundation"" },
                new { Provider=""MSFT"", ExamCode = ""70-505"", Title = ""TS: Microsoft .NET Framework – Application Development …
Run Code Online (Sandbox Code Playgroud)

c# dynamic-keyword dynamic-assemblies

14
推荐指数
1
解决办法
1348
查看次数

标签 统计

c# ×1

dynamic-assemblies ×1

dynamic-keyword ×1