1

私は、リストを使用してユーザーからの以前の推測を処理するアプリケーションに取り組んでいます。以下は、(プライベート)リストとリストにアクセスするためのプロパティです。

プライバシーの漏洩を防ぐために、ReadOnlyCollectionを使用しています。これは、プロパティにゲッターしかない理由でもあります(要素は、プロパティを介さずに、クラス内で直接リストに追加されます)。

今問題に。以下のコードはエラーメッセージを生成します:

  1. TheNameOfTheClass.PreviousGuesses.getは、abstractまたはexternとマークされていないため、本体を宣言する必要があります。自動的に実装されるプロパティは、getアクセサーとsetアクセサーの両方を定義する必要があります。
  2. タイプ'System.Collections.Generic.List'を'System.Collections.ObjectModel.ReadOnlyCollectionに暗黙的に変換することはできません。

これはどのように解決できますか?前もって感謝します!

private List<int> _previousGuesses;

public ReadOnlyCollection<int> PreviousGuesses {
    get {
        return _previousGuesses;
    }
}

編集:わかりました、それで問題nr 2は解決されました(Zortkunに感謝します!)。最初の問題はどうですか、私はゲッターだけを使うことができないということ、何かアイデアはありますか?

4

1 に答える 1

7

グーグルに最初に現れるものを投稿するのではなく、これはどうですか?

   return _previousGuesses.AsReadOnly();

ここから

于 2012-02-11T22:54:37.547 に答える