x
//解决方案ProjectTest.项目A里面public object r(){ return new {id = 1,name = "zf"}; }
//解决方案ProjectTest.项目B里面 public void GetR(){ var aObj = 项目A.r();
//报错:dynamic明明看到了字段,访问出错Microsoft.CSharp.RuntimeBinder.RuntimeBinderException var id = aObj.id; }
去MSDN上查看dynamic的官方文档,也没有发现可疑的地方...没有注意事项啥的...最终发现原因://
最终原因:
引起这种异常的错误是因为匿名类型是不能跨程序集(assembly)的
解决方案.A
使用 Expando
解决方案.B
需要在当前程序集的AssemblyInfo.cs中加上
[assembly: InternalsVisibleTo("ClassLibrary1")]
指定对指定程序集可见即可
原文地址
x
原文地址:https://www.cnblogs.com/love-zf/p/10703702.html
时间: 2024-11-13 09:42:32