DryIoc сопоставляет аргументы Func с конкретными зависимостями разрешенной службыC#

Место общения программистов C#
Ответить
Anonymous
 DryIoc сопоставляет аргументы Func с конкретными зависимостями разрешенной службы

Сообщение Anonymous »

У меня есть следующий упрощенный пример:

Код: Выделить всё

var container = new Container();
container.Register();
container.Register();
var c = container.Resolve()(2, 4);
Console.WriteLine($"{c.I1}, {c.I2}, {c.D.I}");

class C
{
public int I1 { get; }
public int I2 { get; }

public D D { get; }

public C(D d, int i1, int i2)
{
I1 = i1;
I2 = i2;
D = d;
}
}

class D
{
public int I { get; }

public D(int i)
{
I = i;
}
}
Выход: 2, 4, 2
Ожидаемый результат: 2, 4, 4
Теперь объясните, что именно я имею в виду. В классе я могу разрешить оболочку Func и использовать ее для создания экземпляра C. Однако аргументы Func повторяются с самого начала как для C, так и для D, что означает, что D получает первый int . Я хочу знать, есть ли способ настроить контейнер так, чтобы D получал второй int. Другими словами, я ищу возможность сообщить контейнеру для каждой службы, какие параметры Func он должен использовать для каждого аргумента.
Можно ли это сделать? Как?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ed-service
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»