虽然我之前在一个雇主的应用程序中看到过Unity DI,但我是第一次将其添加到一个应用程序中,并且实际上是Unity新手。因此,当我使用Unity v4.0.1时,我会缓慢地进行测试。
我有一个控制台应用程序,它有一个简单的依赖图: LoadPayees,它依赖于PayeeLogic,它依赖于CommissionsRepository。
我已经创建了一个非常简单的Unity注册类,只有一个方法:
public class UnityRegistration
{
public static void RegisterCommissionsTypes(IUnityContainer con
是否有任何配置可以告诉联合为每个解决方案共享相同的实例?
class A:IA {
A(Iref @ref,IB x) {
@ref.Exec(() => x.Foo());
}
...
}
class B:IB {
IC c;
B(IC c) {
c=c
}
void Foo() { c.Bar(); }
}
class C:IC {
C(Iref @ref) // I need Unity to give me the same instance that is resolved in
我在实例化业务对象的代码中加入了这种模式:
// UI or Business level code
public class SomeClass
{
IOrderFactory orderFactory;
public SomeClass(IOrderFactory orderFactory)
{
this.orderFactory = orderFactory
}
public void SomeMethod()
{
var newOrder = orderFactory.CreateOrder();
我在微软的Unity框架中使用C#。我不太确定如何解决这个问题。这可能与我对Unity的依赖注入缺乏理解有关。
我的问题可以用下面的示例代码来总结:
class Train(Person p) { ... }
class Bus(Person p) { ... }
class Person(string name) { ... }
Person dad = new Person("joe");
Person son = new Person("timmy");
当我在总线上调用resolve方法时,我如何确保名为'timmy‘的人'son’
我正在做一个使用MS应用程序块的项目。我看到'Unity‘dll对我是可用的。顺便说一下,它是1.1版。我如何在这里使用依赖注入?
我有一节课
public class ScheduleDataDetailsDC
{
public int ScheduleID;
public List<ScheduleRateLineItem> MinRateList;
public List<ScheduleRateLineItem> MaxRateList;
public List<ScheduleRateLineItem> Vo
我有一些关于依赖注入容器(特别是Unity)的问题,以及它们实际上是如何在依赖注入中提供帮助的。
我相信我理解IoC/DI,并且已经使用基于构造函数的DI有几年了。通常在我使用DI时,只需要在我的类上有一个构造函数,比如MyClassX,它接受一个接口作为参数,比如IDataService,然后使用new操作符创建IDataService实现类的实例,并将其传递到MyClassX的构造函数中。通过这种方式,MyClassX不需要知道它正在使用的IDataService的确切类型,而是将它与特定类型解耦。如果我错了,现在纠正我,但这就是我对DI to be...though的理解,它不一定是基于
作为Unity Container的新手,我不确定我应该如何处理这个问题。
这是我的一家工厂:
class DataCopierFactory : IDataCopierFactory
{
private readonly IUnityContainer _container;
//not mad on binding the factory to the container, but feck it
public DataCopierFactory(IUnityContainer container)
{
_container = container
我们有三个不同的类是相互联系的。我们统一登记。
我们很难正确地解决这些问题。
这些课程如下所示:
public class A: IA
{
public IB B { get; private set; }
public IC C { get; private set; }
public A(IB b, IC c)
{
this.B = b;
this.C = c;
}
}
public class B : IB
{
public IC C { get; private set; }
public B
我有以下代码:
Unity容器:
Settings settings = CreateSettings();
container.RegisterInstance(settings)
.RegisterType<MyHttpHandler>(new InjectionProperty[]
{
// How do I tell Unity to inject my settings created above?
new InjectionProperty("Set
使用EF codefirst方法编写web。
我想使用Unity使用依赖注入。我downloaded--Unity.webapi,它加了几个统一文件(unityconfig,unity算盘)。我注册的实体像附件一样。
但是我的codefirst实体没有实现任何接口,都是普通代码的第一类。现在,我想在我的控制器中编写代码。怎么写?
public static class UnityConfig
{
public static void RegisterComponents()
{
var container = new UnityContainer();