3

IsEmpty独自のコンテナのようなクラスのステートメントを実装するための好ましい方法は何ですか?

これは単純な方法であるbool IsEmpty()場合もあれば、gettableプロパティIsEmpty/を持つ場合もありますEmpty

おそらく個人的な選択の問題だと思いますが、そのような場合はプロパティやメソッドに固執しますか?

4

4 に答える 4

14

一般的なルールは、それが高価であるか、または副作用がある場合、それを方法にすることです。フィールドを読み取るだけの場合は、プロパティにします。

于 2011-04-01T14:01:09.483 に答える
2

プライベートフィールドへの単純なアクセサーである場合は、読み取り専用プロパティIsEmptyを使用します。何かが空であるかどうかを判断するアルゴリズムがある場合は、IsEmpty()メソッドを使用する必要があります。

于 2011-04-01T14:00:02.840 に答える
0

あなたは正しいです、それは間違いなく個人的な選択です、そして私のものは次のようになります:

virtual bool IsEmpty() 
{

}
于 2011-04-01T14:03:18.457 に答える
0

IsEmptyVS 2008のヘルプで検索すると、40のプロパティと11のメソッドが見つかります。(マイレージはバージョンによって異なる場合があります。)したがって、どちらも許容されますが、プロパティの方が一般的です。

最も重要なことは、コード全体で一貫性を保つことです。

于 2011-04-01T14:13:32.787 に答える