我正在處理一個應用程序,該應用程序使用列表來處理來自用戶的以前的猜測。以下是(私人)列表和用於訪問列表的屬性。問題只使用一個吸氣劑和c#中的問題列表#
爲了防止隱私泄漏,我使用了ReadOnlyCollection,這也是我在屬性中只有一個getter的原因(元素直接添加到列表中,而不是通過屬性)。
現在來解決問題。下面的代碼生成錯誤消息:
- TheNameOfTheClass.PreviousGuesses.get必須聲明主體,因爲它未標記抽象或外部量。自動實現的屬性必須同時定義get和set訪問器。
- 不能將類型'System.Collections.Generic.List'轉換爲'System.Collections.ObjectModel.ReadOnlyCollection。
這怎麼解決?提前致謝!
private List<int> _previousGuesses;
public ReadOnlyCollection<int> PreviousGuesses {
get {
return _previousGuesses;
}
}
編輯:好的,所以問題nr 2解決了(謝謝Zortkun!)。第一個問題呢,我不能只用吸氣劑,任何想法?
ReadOnlyCollection有一個構造函數,如果我沒有記錯,那要你的列表。 '返回新的ReadOnlyCollection(_previousGuesses);'嘗試重新編譯,看看你的其他錯誤消失。 – GGulati 2012-02-11 22:49:06
您需要在嘗試從方法調用訪問它之前初始化集合,Getter只是一個方法調用。 – Lloyd 2012-02-11 23:55:33