Внедрение зависимостей с несколькими интерфейсами и частичным классомC#

Место общения программистов C#
Ответить
Anonymous
 Внедрение зависимостей с несколькими интерфейсами и частичным классом

Сообщение Anonymous »

У меня есть класс, общий для всех моих приложений. Изначально у меня были разные классы и разные файлы классов для каждой функции, например DBContext, SendEmail, DataCache. Если я зарегистрирую каждый из них отдельно, все будет работать нормально. Но они являются общими для более чем 40 приложений. Затем я подумал, что у меня должен быть один частичный класс и несколько интерфейсов. Причина создания одного класса заключается в том, чтобы иметь одну единственную регистрацию интерфейса.
Это мой общий интерфейс. Другие интерфейсы будут иметь свои собственные методы

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

public interface ICommon : IInterface1, IInterface2, Interface3
{
public string M1();
public string M2();
}

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

public interface IInterface1
{
public string M3();
}

public interface IInterface2
{
public string M4();
}

public interface IInterface3
{
public string M5();
}

В моем файле одного класса

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

public partial class common : ICommon
{
public string M1()
{
}

public string M2()
{
}
}

затем расширение этого разделяемого класса, так как необходимо добавить и другие методы из остальных интерфейсов (1,2,3)

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

public partial class : ICommon
{
public string M3()
{
}
}
public partial class : ICommon
{
public string M4()
{
}
}
public partial class : ICommon
{
public string M5()
{
}
}
Затем в моем приложении в файле program.cs я регистрирую общий интерфейс

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

builder.Services.AddScoped();
Но я получаю сообщение об ошибке «System.AggregateException: «Некоторые службы невозможно создать (Ошибка при проверке дескриптора службы»
Любая помощь будет оценена

Подробнее здесь: https://stackoverflow.com/questions/780 ... tial-class
Ответить

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

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

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

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

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