2012-02-15 20 views
3

可能性の重複を継承したプロパティにアクセスするとき:「ベース」を使用する必要があります。接頭

internal abstract class ResultRow : IResultRow 
{ 
    protected InspectionDto InspectionDto { get; private set; } 

    public ResultRow(InspectionDto inspectionDto) 
    { 
     InspectionDto = inspectionDto; 
    } 
} 

、ルックResultRowを継承するクラスの数:
Is using “base” bad practice even though it might be good for readability?

私は多少このように基本クラスを持っていますこれはやや好きです:

internal class RadioRow : ResultRow 
{ 
    public RadioRow(InspectionDto inspectionDto) : 
       base(inspectionDto) {} 
} 

継承するクラスのInspectionDtoプロパティを参照する場合、接頭辞にはbase.、つまりbase.InspectionDtoを付ける必要がありますか?この場合、コンストラクタインジェクションを使用して、サブクラスであるResultRowのみを使用する共通のプロパティを取得しています。仮想ではないため、オーバーライドされません。 base.という接頭辞を使用すると、プロパティが定義されている場所が明示されますが、通常は何かを行うことはありません。私は最近それが使用されているのを見て、それが良いか悪い練習と考えられたのか、そしてなぜそれなら疑問に思った。

答えて

0

あなたのお電話です。コードを読みやすくすると思ったらそれをしてください!

1

本当に問題はありませんが、あなたが選んだものは何でも一貫しています。これは、あなたや他の人たちを将来的に助けるパターン(条約ではない)です。

私は個人的にはbaseを使用します。また、StyleCopはそれをお勧めします。

関連する問題