相关疑难解决方法(0)

跨程序集边界返回/使用动态匿名类型

下面的代码效果很好.如果GetUse方法在不同的程序集中,则代码将失败并出现RuntimeBinderException.这是因为.Net运行时系统仅保证<string, int>程序集内的匿名类型(在本例中)的通用性.

有没有办法愚弄运行时系统来克服这个问题?我可以在Use旁边的调试器中检查对象,调试器可以看到相关的属性.

class Program
{
    static void Main(string[] args)
    {
        UsePerson();
        Console.ReadLine();
    }

    public static void UsePerson()
    {
        var person = GetPerson();

        Console.WriteLine(person.Name);
    }

    public static dynamic GetPerson()
    {
        return new { Name = "Foo", Age = 30 };
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# dynamic anonymous-types

25
推荐指数
2
解决办法
4636
查看次数

标签 统计

.net ×1

anonymous-types ×1

c# ×1

dynamic ×1