我能这样循环给type里的属性初始化吗?要怎么做

-一个大坑 2019-08-13 03:48:16
我想写个方法自动给属性初始化,弄了很久的自动注入属性也没成功

public BD01Service()
{
_IBaseRepository = AutofacIoc.Resolve<IBaseRepository<MraBdMsf>>();
_IBaseRepository2= AutofacIoc.Resolve<IBaseRepository<MraBdPn>>();
//AutofacIoc.Resolve2(typeof(BD01Service));
}

public static void Resolve2(Type T)
{
foreach (var item in T.GetProperties())
{
//var aa = _container.Resolve<item.GetType>();
//item.SetValue();

}
}


...全文
203 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
-一个大坑 2019-08-16
  • 打赏
  • 举报
回复
引用 8 楼 XBodhi. 的回复:
AutoFac 这个东西,用的少,都是我自己写的, 不过你想 DI 或 AOC 你可以 用 MVC 自己带的,或是 MEF 都可以。
有 .net code的ioc,分享一下看看
冰川711 2019-08-16
  • 打赏
  • 举报
回复
引用 9 楼 -一个大坑 的回复:
[quote=引用 7 楼 冰川711 的回复:] 类里面 循环自己的属性 给自己的属性赋值?
是的,取自己的属性的类型,给自己的属性赋值,可以这样做吗[/quote] 没有必要这样做,因为需要用到反射是对性能不必要的浪费~ 如果是要声明对象 直接new 就是了, 不要想太多!!!!!!
-一个大坑 2019-08-16
  • 打赏
  • 举报
回复
引用 7 楼 冰川711 的回复:
类里面 循环自己的属性 给自己的属性赋值?
是的,取自己的属性的类型,给自己的属性赋值,可以这样做吗
XBodhi. 2019-08-16
  • 打赏
  • 举报
回复
AutoFac 这个东西,用的少,都是我自己写的, 不过你想 DI 或 AOC 你可以 用 MVC 自己带的,或是 MEF 都可以。
冰川711 2019-08-16
  • 打赏
  • 举报
回复
类里面 循环自己的属性 给自己的属性赋值?
-一个大坑 2019-08-16
  • 打赏
  • 举报
回复
引用 5 楼 冰川711 的回复:

        _IBaseRepository = Resolve2<IBaseRepository<MraBdMsf>>();


        public static T Resolve2<T>()
        {
            return Activator.CreateInstance<T>();
        }

你是想要这样子?
我这里有单个生成的,我想做循环属性生成 public static T Resolve<T>() { return _container.Resolve<T>(); }
冰川711 2019-08-16
  • 打赏
  • 举报
回复

        _IBaseRepository = Resolve2<IBaseRepository<MraBdMsf>>();


        public static T Resolve2<T>()
        {
            return Activator.CreateInstance<T>();
        }

你是想要这样子?
-一个大坑 2019-08-15
  • 打赏
  • 举报
回复
-一个大坑 2019-08-14
  • 打赏
  • 举报
回复
引用 2 楼 by_封爱 的回复:
既然你要初始化 那么为什么不在定义的时候 就初始化呢? 构造函数 或者

public string id{get;set;}="admin";
都行 是不是这个需求?
我想根据属性的类型,给属性初始化 比如 private IBaseRepository<MraBdMsf> _IBaseRepository { get; set; } 的是类型是 IBaseRepository<MraBdMsf> 初始化就是AutofacIoc.Resolve<属性类型>() _IBaseRepository = AutofacIoc.Resolve<IBaseRepository<MraBdMsf>>(); 就是属性注入,因为没有做到想另寻它法看能不能循环属性进行属性注入
by_封爱 2019-08-14
  • 打赏
  • 举报
回复
既然你要初始化 那么为什么不在定义的时候 就初始化呢? 构造函数 或者

public string id{get;set;}="admin";
都行 是不是这个需求?
冰川711 2019-08-13
  • 打赏
  • 举报
回复
你先说一下 你的目的, 然后说一下现在遇到什么问题,

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧