Я работаю над приложением, которое использует список для обработки предыдущих догадок пользователя. Ниже приведен (частный) список и свойство для доступа к списку.
Чтобы предотвратить утечку конфиденциальности, я использую ReadOnlyCollection, что также является причиной того, что у меня есть только геттер в свойстве (элементы добавляются внутри класса непосредственно в список, а не через свойство).
Теперь к проблеме. Код ниже генерирует сообщение об ошибке:
- TheNameOfTheClass.PreviousGuesses.get должен объявлять тело, потому что оно не помечено как abstract или extern. Автоматически реализуемые свойства должны определять методы доступа get и set.
- Невозможно неявно преобразовать тип System.Collections.Generic.List в System.Collections.ObjectModel.ReadOnlyCollection.
Как это решить? Заранее спасибо!
private List<int> _previousGuesses;
public ReadOnlyCollection<int> PreviousGuesses {
get {
return _previousGuesses;
}
}
РЕДАКТИРОВАТЬ: Итак, проблема № 2 решена (спасибо Zortkun!). Как насчет первой проблемы, что я не могу использовать только геттер, есть идеи?
return new ReadOnlyCollection(_previousGuesses);
Попробуйте перекомпилировать и посмотрите, исчезнет ли другая ваша ошибка. - person GGulati   schedule 12.02.2012