8

クラス内(同じクラス内から)の値を参照する場合、他のクラスからアクセスできるフィールドまたはプロパティを使用する必要がありますか?

たとえば、クラス内の変数をどのように参照する必要がありますか? また、その理由は何ですか?

public static class Debug
{
    private static int _NumberOfEvents = 1;

    public static int NumberOfEvents
    {
    get
    {
        return _NumberOfEvents;
    }
    set
    {
        _NumberOfEvents = value;
    }
}

public static void LogEvent(string Event)
{
    //This way?
    Console.WriteLine("Event {0}: " + Event, _NumberOfEvents);
    _NumberOfEvents++;

    //Or this way?
    Console.WriteLine("Event {0}: " + Event, NumberOfEvents);
    NumberOfEvents++;
}

}

ありがとう

4

2 に答える 2

3

JITter は、プロパティを使用するときに生成される関数呼び出しを間違いなくインライン化するため、最終的にはおそらく違いはありません..直接フィールドアクセスに。

個人的に (そして、現在のチームを含め、私が所属しているチームでは)、フィールドを使用し、クラス外にアクセスできるようにプロパティを残します..自動プロパティでない限り (驚くべきことに、私たちにはめったに起こりません)、または含まれている場合を除きます。論理。

于 2013-08-16T02:43:56.283 に答える