我现在有个问题
有一个类o,
class o {public void f(){int x=0;
//我想在编译的时候,在这里自动增加上一些语句或是方法调用,(也就是说,在程序运行的时候,动态的织入一些代码)
}}
我在网上看了关于aop方面的东西,但我觉得太墨迹了,你们有什么好的方法来实现我想要的效果吗
谢谢大家了,我想做一个orm框架,但是延时加载这里累死我了,所以我想问问大家有没有好的方法
有一个类o,
class o {public void f(){int x=0;
//我想在编译的时候,在这里自动增加上一些语句或是方法调用,(也就是说,在程序运行的时候,动态的织入一些代码)
}}
我在网上看了关于aop方面的东西,但我觉得太墨迹了,你们有什么好的方法来实现我想要的效果吗
谢谢大家了,我想做一个orm框架,但是延时加载这里累死我了,所以我想问问大家有没有好的方法
解决方案 »
- 请问 c++ 怎么连接用c#写的封装数据库的dll
- c# web.config
- 使用C#如何将图片插入或导入到Excel中 (在线等,很急啊)
- 如何将ListBox 里面的列举选项全部清空?
- 散分!顺便问下版里有福州的软件公司的朋友么?偶想找个c# .net开发的工作~
- datareader可以绑定combobox吗?像下面的代码可以吗?
- 散分了!学习c#也有半年了,请各位高手指点我下一步怎么走!
- 非常不开心,公司经营出了问题,我要重新找工作了!~
- 这句SQL哪出错了?
- 半個月了.還沒能找到解決方案,我想做數据庫的朋友都會碰到的問題.如何能在dataGrid中先显示一张有几十万条数据的表的一小部分,载入内存
- WinForm应用程序连接sql server 2000数据库命令实例
- 文本框,使用分号隔开词组,并给正确的词组加下划线#####在线#####
不懂就不要装好不好,免得误导别人,aop在java领域已经很成熟了,有很成熟的解决方案和成功的案例,怎么就成了磨叽了?
{
bool Activated{get;set;}
event Action Active;
}然后当你的ORM从数据库中读取数据并创建一个实体实例时,判断此对象是否具有此接口。例如: if(obj is IActivator)
{
obj.Activated=false;
obj.Active += ()=>
{
obj.Activated=true;
取并设置所有引用自定义class的属性(obj);
};
}
else
{
读取并设置所有引用自定义class的属性(obj);
}这样,假设我们有“研究项目”对象实例,它有几十个引用其它自定义class的属性我们想延迟加载,那么大致可以这样定义: public class 研究项目: IActivator
{
public event Action Active;
public bool Activated{get;set;} private 管理人员 _pm; public 管理人员 产品负责人
{
get
{
if(!Activated)
Active();
return _pm;
}
set
{
_pm=value;
}
}
.......
说你不懂你还不服,你的例子毫无可比性。aop不会破坏原有的类,原来的类还是原来的行为,只不过在你本次调用上在你的执行逻辑上改变其行为,因此不存在什么“既不需要代码源作者同意就可以强行插入自己的代码”,另外.net remoting不是作为aop工具而设计的,不要混淆概念,他的出现是为了简化rpc编程。真的建议你查查aop的资料。
aop的作用就是减少代码写入的劳动强度,我就想把get和set里面的语句给弄成aop的方式
你可愁死我了
http://www.cnblogs.com/anytao/archive/2009/10/29/must_net_33.html
http://www.cnblogs.com/JeffreyZhao/archive/2009/08/05/from-delegate-to-others.html在net4里dynamic 和 Lazy<T> 完全可以做到当然在net4以下也不是不可能完成的任务,get,set,配合事件和委托也完全是可能的方案
工具仅仅是工具而已,必然有它适合的情况和不适合的情况,没有放之四海皆适用的解决方案,怎么用还要看设计者,你非要使用它的短板那也是没有办法,依照你的理论,mysql根本就不能用,因为myisam根本就不支持事务还是表级锁,但是各大网站都在用,而且设计良好者,既能保证事务安全又并发效率高。所以不要去讨论框架工具是否墨迹,是要看你的需求是否需要你墨迹和你的设计是否墨迹。