你的位置:首页 > 软件开发 > ASP.net > 基于Mono.Cecil的静态注入

基于Mono.Cecil的静态注入

发布时间:2016-05-11 11:00:05
Aop注入有2种方式:动态注入和静态注入,其中动态注入有很多实现了 动态注入有几种方式:利用Remoting的ContextBoundObject或MarshalByRefObject。动态代理(反射),很多AOP框架都用这种方式。MVC的filter,也是反射。这里主要介绍 ...

Aop注入有2种方式:动态注入和静态注入,其中动态注入有很多实现了

 

动态注入有几种方式:

  1. 利用Remoting的ContextBoundObject或MarshalByRefObject。
  2. 动态代理(反射),很多AOP框架都用这种方式。
  3. MVC的filter,也是反射。

这里主要介绍静态注入

==========================================================================================

起初的想法是实现一种功能,自动给对象的属性一个默认值,想来想去没有什么好的解决方法,参考资料后决定使用Mono.Cecil修改生成的程序集来实现!

 

先定义一个接口

using System;using System.Collections.Generic;using System.Linq;using System.Linq.Expressions;using System.Text;using System.Threading.Tasks;namespace System.Linq{  /// <summary>  /// 支持注入  /// </summary>  /// <typeparam name="T"></typeparam>  internal interface IInject<T>  {    /// <summary>    /// 注入属性    /// </summary>    /// <typeparam name="TKey"></typeparam>    /// <param name="name"></param>    /// <param name="value"></param>    /// <returns></returns>    IInject<T> InjectProperty<TKey>(Expression<Func<T, TKey>> propertyName, Expression<Func<T, TKey>> propertyValue, InjectType type);  }}

原标题:基于Mono.Cecil的静态注入

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录