标签:字段 注意 style get inf logs type 跨程序 class
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)的
使用 Expando
需要在当前程序集的AssemblyInfo.cs中加上
[assembly: InternalsVisibleTo("ClassLibrary1")]
指定对指定程序集可见即可
x
标签:字段 注意 style get inf logs type 跨程序 class
原文地址:https://www.cnblogs.com/love-zf/p/10703702.html