- создал экземпляр внедренного, вызвав определенный конструктор?
- Что, если мне нужно инициализировать эти два отдельных экземпляра с помощью двух разных конструкторов?
- Можно ли вообще создать экземпляр внедренного класса вне конструктора класса приложения? >
Предположим, мой сервис определен следующим образом:
public interface IMyClass
{
void DoStuff();
}
public class MyClass: IMyClass
{
public MyClass(MyType1 t1){//do somethign with t1 in conctructor}
public MyClass(MyType2 t2){//do somethign with t2 in conctructor}
public void DoStuff(){...}
}
Я могу использовать его в своем приложении следующим образом:
public class MyProgram
{
private IMyClass _myClass1;
ptivate IMyClass _myClass2;
public MyProgram(IMyClass myClass)
{
MyType1 type1 = GetMyType1();
MyType2 type2 = GetMyType2();
_myClass1 = myClass; //Question 1. I am looking for a way to initialize _MyClass with type1
_myClass2 = myClass; //Question 2. I am looking for a way to initialize _MyClass with type2
}
public void MyMethod1()
{
//Question 3. can _myClass1 be instantiated here with type1?
_myClass1.DoStuff();
}
public void MyMethod2()
{
//Question 3. can _myClass2 be instantiated here with type2?
_myClass2.DoStuff();
}
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... onstructor