Я пытаюсь понять, почему компилятор выдает ошибку, когда я пытаюсь использовать специальный метод «Список» «Добавить» в этом контексте. В объяснении ошибки указано, что это связано с определением поля. (IEnumerable не включает метод «Добавить»). Однако я ввел его во внутренний контекст. Буду благодарен за разумное объяснение.Экземпляр экземпляра не распознается в контексте метода в C#
Примечание: Я знаю, что это потому, что IEnumerable является интерфейсом, и вместо этого я могу использовать IList. Однако я не мог понять, что компилятор должен извлекать тип во внутреннем контексте, но его нет.
class Program
{
private static IEnumerable<string> exampleList;
public static void Main()
{
exampleList = new List<string>();
exampleList.Add("ex"); // ==> Compiler Error Here.
}
}
Данное сообщение об ошибке является конкретным и объясняет проблему. 'IEnumerable' не имеет метода «Добавить». Вы хотели объявить 'exampleList' как' List ' вместо этого? –
Вот что такое инкапсуляция в ООП. – Lou
Я не понял, почему компилятор не извлекает этот тип во внутреннем контексте, но теперь я понял, что это потому, что новая операция выполняется во время выполнения, поэтому компилятор выдает ошибку, спасибо. – skynyrd