Sha*_*pta 4 .net c# properties
我想为属性分配一些默认值,或者想要替换下面给出的一些字符.它是正确的语法还是应该通过创建变量来实现.
public string Login_Name
{
get
{ return this.Login_Name; }
set { this.Login_Name = value.Replace("'", "''"); }
}
Run Code Online (Sandbox Code Playgroud)
djd*_*d87 13
通过访问Login_Name
该get
会返回Login_Name
再次给你一个无限循环(StackOverflowException
).
您应该使用属性来获取和设置私有成员:
public string Login_Name
{
get
{
return _login_Name;
}
set
{
_login_Name = value;
if (!string.IsNullOrEmpty(_login_Name))
{
_login_Name = _login_Name.Replace("'", "''");
}
}
}
private string _login_Name;
Run Code Online (Sandbox Code Playgroud)
如果您打算使用自动实现的属性,它将如下所示:
public string Login_Name {get;set;}
Run Code Online (Sandbox Code Playgroud)
但是,自动实现的属性不能将任何其他逻辑应用于其获取或集合.