dynamic跨程序集访问的问题..
我在BLL层返回了一个dynamic的数据...
然后在UI层接收..并访问其中的属性..最终报错
"Unhandled Exception: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 'object' does not contain a definition for 'Value'"
经查询发现这是因为C#的编译器总是会将匿名类型编译成internal的类型
改用用友元的方式...
在UI的命名空间上加入
[assembly: InternalsVisibleTo("XXXX.BLL")]
访问还是失败..
测试用反射的方式则可以获取其中的值... - - 不过不怎么想用反射...
BLL层的代码如下:
求大神给个解决方案...
然后在UI层接收..并访问其中的属性..最终报错
"Unhandled Exception: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 'object' does not contain a definition for 'Value'"
经查询发现这是因为C#的编译器总是会将匿名类型编译成internal的类型
改用用友元的方式...
在UI的命名空间上加入
[assembly: InternalsVisibleTo("XXXX.BLL")]
访问还是失败..
测试用反射的方式则可以获取其中的值... - - 不过不怎么想用反射...
BLL层的代码如下:
namespace XXX.BLL.stop
{
public dynamic SelectByID(int id)
{
var itme = from a in EF数据源
join b in EF数据源 on a.goodid equals b.id
join c in EF数据源 on b.order_id equals c.id
where a.id==id
select new
{
a.id,
a.XXX,
a.XXXXX,
a.XXXXXXX,
a.XXX,
a.XX,
a.X,
a.XXXXXX,
b.JJJJ,
c.FFFFF
};
return itme.FirstOrDefault<dynamic>();
}
}
求大神给个解决方案...

...全文
相关推荐
C#使用dynamic类型访问JObject对象
C# 使用 dynamic 类型访问 JObject 对象C# 使用 dynamic 类型访问 JObject 对象是指在 C# 语言中使用 dynamic 关键字来访问 Newtonsoft.Json
tomcat跨域解决方案
当遇到需要跨域访问的需求时,开发者必须采取相应的措施来解决这一问题。对于使用Apache Tomcat服务器的应用程序来说,跨域问题同样普遍存在。
注册程序集是什么意思?
**确定是否需要放入GAC**:不是所有程序集都需要放入GAC,只有那些需要被多个应用程序共享或需要系统级别的访问权限的程序集才适合。3.
JSONP解决跨域问题
JSONP(JSON with Padding)是一种跨域数据交互协议,它利用了`<script>`标签可以跨域请求资源的特性,为了解决JavaScript在浏览器端由于同源策略限制无法直接访问不同源的
.net c#动态创建程序集、类、属性、方法等
一、动态创建程序集在.NET中,程序集是包含类型和资源的物理单元,是CLR执行的基本模块。


