0
private CompanySetting _companySettings= null;
    public CompanySetting CompanySettings
    {
        get
        {          
            _companySettings = _companySettings ?? getCompanySettings();
            return _companySettings;
        }
        set
        {
            _companySettings = value;
        }
    }

ビューモードに上記のプロパティがあります。プロパティの get メソッドを呼び出さずにこのクラスをインスタンス化すると、プロパティが自動的に設定されることに気付き始めました。getCompanySettings が呼び出され、それによって companysettings プロパティがロードされることを意味します。getCompanySettings メソッドにもブレークポイントを設定しましたが、そこで中断されないことがわかっています。これは .net のことですか?

4

1 に答える 1

2

Visual Studio デバッガーを使用している場合は、プロパティ ゲッターが純粋である (つまり、評価による副作用がない) と見なされるため、プロパティ ゲッターを自動的に評価するように構成されている可能性があります。このように動作しないプロパティ ゲッターがある場合はDebuggerBrowsableAttribute、デバッガーによって評価されないように属性を追加する必要があります。

[DebuggerBrowsable(DebuggerBrowsableState.Never)]
public CompanySetting CompanySettings
{
    get
    {          
        _companySettings = _companySettings ?? getCompanySettings();
        return _companySettings;
    }
    set
    {
        _companySettings = value;
    }
}
于 2013-10-21T22:27:37.083 に答える