Каковы наиболее используемые интерфейсы в С#?
Я попытался найти наиболее используемые встроенные интерфейсы на С#, но не смог найти статью, поэтому я подумал, что мы можем здесь вспомнить.
В ответах используйте следующее соглашение:
IinterfaceName1: для этого
IinterfaceName2: для этого
Ответы
Ответ 1
Первые два в моей голове должны быть с поддержкой языка:
-
IEnumerable<T>
(и IEnumerable
): для
используйте foreach
и LINQ
-
IDisposable
: для ресурсов, требующих
очистка, используемая с using
Помимо этого...
-
IComparable<T>
и IComparer<T>
: для обобщенной сортировки
-
IEquatable<T>
и IEqualityComparer<T>
: для обобщенного равенства
-
IList<T>
и ICollection<T>
: для изменяемых коллекций
-
IDictionary<T,K>
: для коллекций поиска
Ответ 2
INotifyPropertyChange
: для привязки данных к классам пользовательского интерфейса в WPF, winforms и silverlight
Ответ 3
IQueryable<T>
: позволяет выполнять запросы против запрашиваемых источников данных. Например
IQueryable<Project> projects = db.Projects;
var selectedItems = projects
.Where(x => x.Workers.Count() > 10 && x.Status != 1)
.ToArray();
В этом примере фильтрация будет выполняться на SQL Server (вовлекает сложную механику с переводом выражения Expression x => x.Workers.Count() > 10 && x.Status != 1
в SQL)
Поэтому нет необходимости писать собственные команды SQL, чтобы использовать все возможности источника данных.
Также может использоваться не только с SQL, вы можете запросить объекты или что-то еще, просто найдите реализацию IQueryable<T>