c# – 结构图:运行时的具体类
发布时间:2020-12-15 21:21:41 所属栏目:百科 来源:网络整理
导读:我有一个接口和一个类定义如下 public interface IShape{}public class Square : IShape{} 我知道我可以在Structure Map中为依赖注入配置它,如下所示. ObjectFactory.Initialize(x ={ x.ForIShape().UseSquare().Named("Square");}); 但是,如果我只能在运行
我有一个接口和一个类定义如下
public interface IShape { } public class Square : IShape { } 我知道我可以在Structure Map中为依赖注入配置它,如下所示. ObjectFactory.Initialize(x => { x.For<IShape>().Use<Square>().Named("Square"); } ); 但是,如果我只能在运行时知道具体类型,我想知道如何配置结构图.例如,我想做如下. ObjectFactory.Initialize(x => { x.For<IShape>().Use<Typeof(Square)>().Named("Square"); } ); 编辑:使用附加DLL插入新的形状对象(即圆圈).因此,设计也应该能够处理这种情况. 任何建议将不胜感激. 谢谢 解决方法
这适合我.
public class ShapeHolder { public IShape shape{ get; set ;} public string shapeName { get; set; } } //Run time shape creation ShapeHolder shapeholder = factory.CreateShape(); ObjectFactory.Initialize(x => { x.For(typeof(IShape)).Use(shapeholder.shape).Named(shapeholder.shapeName); } ); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |