Проблема в том, что доступность по умолчанию для членов в классах уже закрыта, поэтому ваш код эквивалентен:
public class Example
{
private IEnumerable<int> Ids {get; private set;}
private IEnumerable<string> Names {get; private set;}
}
Это не компилируется, потому что, когда вы добавляете дополнительный модификатор доступа для геттера илиСеттер, он должен быть более строгим, чем общий доступ к свойству.В данном случае это не так.
Если вы сделаете все свойство общедоступным, оно будет скомпилировано без проблем:
public class Example
{
public IEnumerable<int> Ids {get; private set;}
public IEnumerable<string> Names {get; private set;}
}
(при условии, что у вас есть директива using для System.Collections.Generic
пространство имен, конечно.)