首页新闻找找看学习计划

特性怎么用autofac依赖注入?

0
悬赏园豆:20 [已解决问题] 解决于 2014-09-28 23:40
    public class abcAttribute : Attribute
    {
        /// <summary>
        /// 服务接口
        /// </summary>
        private readonly Ia _Ia;
        public abcAttribute(Ia Ia)
        {
            _Ia = Ia;
        }

    }

要用的时候

[abcAttribute(EngineContext.Current.Resolve<Ia>())]

报错是特性实参必须是特性形参类型的常量表达式、typeof 表达式或数组创建表达式 。

这个服务接口有可能其实现类的构造函数相当复杂,又牵扯到别的service。所以无参数构造函数不大可能。
怎么办?
Cherbim的主页 Cherbim | 菜鸟二级 | 园豆:318
提问于:2014-09-15 21:26
< >
分享
最佳答案
0

不要以参数的方式传递值就行了嘛,比如用配置文件,中间变量之类的…方法多种多样。

收获园豆:20
Firen | 大侠五级 |园豆:5483 | 2014-09-16 07:17

最后用无参数的构造。在构造里面再调用AUTOFAC出需要的实例

Cherbim | 园豆:318 (菜鸟二级) | 2014-09-28 23:41
其他回答(1)
0

直接去官网看看,不过建议不要使用这个侵入式的方式注入,可以使用autofac配置

Halower | 园豆:1723 (小虾三级) | 2014-09-16 09:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册