Если множественного наследования не существует, то это что?

Является ли это множественным наследованием? Если нет, то что это? Странный синтаксис, я до этого с таким не сталкивался.

public class DbSet<TEntity> : DbQuery<TEntity>, IDbSet<TEntity>, IQueryable<TEntity>, IEnumerable<TEntity>, IEnumerable, IQueryable, IInternalSetAdapter where TEntity : class

Ответы (1 шт):

Автор решения: Алексей Якубин

Наследование, действительно, может быть только от одного базового класса, в вашем случае это DbQuery. Все остальные аргументы в списке это интерфейсы, которые обязан реализовывать класс, их может быть сколько угодно. В именовании интерфейсов принято в начале приписывать заглавную букву I и на вашем примере вы можете убедиться в полезности такой практики - в описании класса сразу видно что есть что.

→ Ссылка