gpt4 book ai didi

c# - 结构图 : concrete class at run time

转载 作者:行者123 更新时间:2023-11-30 12:51:28 25 4
gpt4 key购买 nike

我有一个接口(interface)和一个定义如下的类

public interface IShape
{

}

public class Square : IShape
{

}

我知道我可以在结构图中为依赖注入(inject)配置它,如下所示。

ObjectFactory.Initialize(x =>
{
x.For<IShape>().Use<Square>().Named("Square");

}
);

但是,我想知道如果我只能在运行时知 Prop 体类型,我该如何配置结构图。例如,我想做如下。;

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);
} );

关于c# - 结构图 : concrete class at run time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6951409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com