Фильтрованные списки завершения в C#
При помощи фильтров IntelliSense удаляет ненужные члены из списка завершения.
В Visual C# фильтруются списки завершения для следующих элементов:
Интерфейсы и базовые классы.
Атрибуты.
Операторы as и is.
Предложения "catch".
Инициализаторы объектов
События
Интерфейсы и базовые классы
IntelliSense автоматически удаляет элементы из списков завершения интерфейсов и базовых классов (включая как базовые списки объявления классов, так и списки интерфейсов).Например, перечисления не отображаются в списке завершения для базовых классов, так как перечисления для базовых классов не используются.Список завершения базовых классов содержит только интерфейсы и пространства имен.Если в списке выбрать элемент и затем ввести запятую, IntelliSense удалить базовый класс из списка завершения, поскольку Visual C# не поддерживает множественное наследование.Такое же поведение наблюдается у предложений ограничения.
Атрибуты
При применении атрибута к типу список завершения фильтруется таким образом, что содержит только типы, полученные из пространств имен с этими типами, например Attribute.
Операторы "as" и "is"
Отфильтрованный список завершения отображается автоматически при нажатии клавиши ПРОБЕЛ после введенного as OR is ключевое слово.
Предложения "catch"
Для catch в списке завершения IntelliSense отображаются только соответствующие типы.В число этих типов входят производные от Exception, типы с вложенными типами, а также типы, ограниченные производными от Exception типами.
Инициализаторы объектов
В списке завершения отображаются только инициализируемые члены.Примеры.
class Cust
{
public string Name { get; set; }
public int Age { get; set; }
}
class MyApp
{
static void Main()
{
var customer = new Cust()
{
//Name and Age appear in completion list
Name = "Sally",
//Only Age appears in completion list
Age = 30
};
}
}
В примере выше сначала создается класс Cust с двумя автоматически реализованными свойствами.После инициализации свойства Name в списке завершения отображаются только Name и Age.Список завершения отфильтровывает записи, несоответствующие инициализации объекта.Дополнительные сведений об инициализаторах объектов см. в разделе Инициализаторы объектов и коллекций (Руководство по программированию в C#).
События
Если набрать ключевое слово event (Справочник по C#), в списке завершения будут содержаться только типы делегата.
См. также
Основные понятия
Заранее выбранные элементы списков завершения в C#