繁体   English   中英

仅调用属性的访问器

[英]Call only Get Accessors of property

请告诉我如何在另一种方法中仅调用此属性的get方法。 例如

 public List<EmployeeData> LOP
        {
            get
            {
                if (_lop == null)
                {
                    _lop = new List<DTPackage>();
                }

                return _lop;
            }
            set
            {
                _lop = value;
            }

        }

我只想调用此属性的get方法。

 public List<EmployeeData> LOP
 {
        get
        {
            if (_lop == null)
            {
                _lop = new List<DTPackage>();
            }

            return _lop;
        }
        set
        {
            _lop = value;
        }
 }

var lop = LOP;       // here POP get will be called
LOP = myEmployeeList //here POP set will be called

您可以setprivate ,避免从其他类访问或删除set为只读

这些都是.Net属性的所有可编译变体:

// Shorthand
public string MyProperty1 { get; set; }
public string MyProperty2 { get; private set; }
public string MyProperty3 { get; }

// With backing field
private string _myProperty4;
private string _myProperty5;
private readonly string _myProperty6;

public string MyProperty4
{
    get { return _myProperty4; }
    set { _myProperty4 = value; }
}

public string MyProperty5
{
    get { return _myProperty5; }
    private set { _myProperty5 = value; }
}

public string MyProperty6
{
    get { return _myProperty6; }
}

MSDN

用法:

 string myString = MyProperty4; // Calls get on MyProperty4 MyProperty4 = "Hello World" // Calls set on MyProperty4 MyProperty6 = "Hello World" // Will not be compilable 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM