IsEmpty
独自のコンテナのようなクラスのステートメントを実装するための好ましい方法は何ですか?
これは単純な方法であるbool IsEmpty()
場合もあれば、gettableプロパティIsEmpty
/を持つ場合もありますEmpty
。
おそらく個人的な選択の問題だと思いますが、そのような場合はプロパティやメソッドに固執しますか?
IsEmpty
独自のコンテナのようなクラスのステートメントを実装するための好ましい方法は何ですか?
これは単純な方法であるbool IsEmpty()
場合もあれば、gettableプロパティIsEmpty
/を持つ場合もありますEmpty
。
おそらく個人的な選択の問題だと思いますが、そのような場合はプロパティやメソッドに固執しますか?
一般的なルールは、それが高価であるか、または副作用がある場合、それを方法にすることです。フィールドを読み取るだけの場合は、プロパティにします。
プライベートフィールドへの単純なアクセサーである場合は、読み取り専用プロパティIsEmptyを使用します。何かが空であるかどうかを判断するアルゴリズムがある場合は、IsEmpty()メソッドを使用する必要があります。
あなたは正しいです、それは間違いなく個人的な選択です、そして私のものは次のようになります:
virtual bool IsEmpty()
{
}
IsEmpty
VS 2008のヘルプで検索すると、40のプロパティと11のメソッドが見つかります。(マイレージはバージョンによって異なる場合があります。)したがって、どちらも許容されますが、プロパティの方が一般的です。
最も重要なことは、コード全体で一貫性を保つことです。