Ich bin neu in Dependency injection Pattern. Bitte schauen Sie sich das folgende Szenario an. Im Moment ist mein Code unten eng gekoppelt. Ich möchte das so leicht gekoppelt machen.Wie registriert man parametrisierbare Konstruktorklassen im Unity-Container in C#?
Könnte jemand mir helfen, Abhängigkeitsinjektion mit Unity zu implementieren?
// Implementation of class A
public class A
{
public B b{get;set;}
public A(B b,string c)
{
this.b=b;
this.A(b,c);
}
}
//Implementation of Class B
public class B
{
public int value1 {get;private set;}
public string stringValue {get;private set;}
public B(int value,string strValue)
{
this.value1=value;
this.stringValue=strValue;
}
}
//Implementation of class C
public class C
{
public void Dosomething()
{
B b=null;
string value="Something";
// Here I need to implement unity to resolve tight coupling
// without creating object of Class A
A a=new A(b,value);
}
}
Ich müde etwas basierend auf den Schlag mögliche doppelte Frage. Aber ich stehe immer noch vor demselben Problem.
Wie soll ich diesen Typ registrieren, der Konstruktor in Unity parametrisiert hat?
Anstelle dieser Linie habe ich den folgenden Code implementiert
A a=new A(b,value);
var container=new UnityContainer();
container.RegisterType<A>();
container.RegisterType<B>();
A a=new A(b,container.ResolveType<B>();
Aber sein hilft mir nicht aus.
Mögliche Duplikate von [Wie soll ich diesen Typ registrieren, der den Konstruktor in Unity parametrisiert hat?] (Http://stackoverflow.com/questions/13067496/how-should-i-register-this-type-that-has -Parameterized-Konstruktor-in-Einheit) – dbugger