1. ホーム
  2. c#

プロパティはその型と同じ名前を持つべきですか?

2023-09-09 21:46:32

質問

時々、このように書かれたコードを見かけます。

public class B1
{
}

public class B2
{
    private B1 b1;

    public B1 B1
    {
        get { return b1; }
        set { b1 = value; }
    }
}

すなわち、クラス B2 は "B1" という名前のプロパティを持っており、それはまた "B1" 型である。

私の直感では、これは良い考えではないと思いますが、プロパティにそのクラスと同じ名前を与えることを避けるべき技術的な理由があるのでしょうか?

(私は.net 2.0を使用しています、それが重要である場合に備えて)。

どのように解決するのですか?

大丈夫です。ここでの正規の例は

public Background {
    public Color Color { get; set; }
}

ここで稀に問題(コーナーケース)が出てきますが、このデバイスを避けることを正当化するほどではありません。率直に言って、私はこのデバイスを非常に便利だと感じています。私は、以下のことができなくなることを楽しめません。

class Ticker { ... }


public StockQuote {
    public Ticker Ticker { get; set; }
}

というのは嫌なのですが Ticker StockTicker または Ticker ThisTicker など。