All streams
Search
Write a publication
Pull to refresh
1
0
Send message

зачем жаловаться на нехватку кадров ?

Может потому что большинство тех кто ломятся - реально "кадры", но не в контексте трудовых отношений?

Может быть потому что ваш МУС это шабаш? Предписания которого не исполняют даже те, кто его признают?

Я сначала подумал что тут магия какая-то невероятная и впал в шок от настолько неявной привязки)
Но залез в документацию, там:

// Create your builder.
var builder = new ContainerBuilder();

// Usually you're only interested in exposing the type
// via its interface:
builder.RegisterType<SomeType>().As<IService>();

// However, if you want BOTH services (not as common)
// you can say so:
builder.RegisterType<SomeType>().AsSelf().As<IService>();

Поэтому да, у автора видимо типы отвалились

Санкции работают. Европка покупает латвийскую смесь, Россия покупает армянские телевизоры. Это же продолжение истории с белорусскими креветками, но уже в абсолюте

Знаете, как подобное сделать на интерфейсах - расскажите, а то я вот сразу не соображу даже.

Явная реализация интерфейса

interface IMovable
{
    protected internal void Move();
}

class Person : IMovable
{
    // явная реализация
    void IMovable.Move()
    {
        Console.WriteLine($"walking");
    }
}

Если вас правильно понял

Я тоже об этом думал, но это уже не DI, а хрень какая-то. Потому что DI это про ЯВНЫЕ зависимости

Dependency injection makes implicit dependencies explicit

Именно поэтому я сделал предположение о некотором аналоге локатора служб

Так это буквально ваше предложение. Это же ваш воркер "Никакие аргументы не принимает". Следовательно это ваше предложение дергать службу из локатора или синглтона, когда она понадобится


Я же говорю о явном пробросе зависимости.

И причем вообще здесь юзинг?

Разработчик достанет логгер там, где он прокинул эту зависимость

Да, потому что логгеры прокидываются в конструктор

 public ExampleService(
        IMessageWriter messageWriter,
        IEnumerable<IMessageWriter> messageWriters)

HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);

builder.Services.AddHostedService<Worker>();
builder.Services.AddSingleton<IMessageWriter, MessageWriter>();

using IHost host = builder.Build();

Вот создается узел с воркером, которому прокидывается райтер.

Или что вы имеете ввиду?

И что?

public sealed class Worker(IMessageWriter messageWriter) 
  : BackgroundService

Первичный конструктор принимает интерфейс, что вы этим показали?

Напечатал те же вопросы, что и у @MihaOo, благо прочитать успел и не отправил. Аналогичный пример можно на шарпе и без рефлексии, ещё чтобы конструктор был явный и без аргументов?

Так закон о сервисах или "финн" ущемился? Разойтись можно было по-человечески, а не говорить об агрессии, спустя почти 1000 дней. И не оправдываться фабриками троллей

Лучше и не сказать

Покажите пример внедрения без конструктора

Да, было такое, уже несколько версий проскипала эта фича

Что-то вроде такого

До:

private bool _isNecessary
public bool IsNecessary
{
  get => _isNecessary;
  set { _isNecessary = value; OnPropertiesChanged(); }
}

После:

public bool IsNecessary
{
  get => field;
  set { field = value; OnPropertiesChanged(); }
}

Information

Rating
Does not participate
Location
Россия
Registered
Activity