我有一个对象,可以对某些属性进行加密(如果在数据库中有关于它的信息)或为空(如果在数据库中没有关于它的信息)
例如,对于电子邮件,我是这样做的;
public string Email
{
get
{
if (String.IsNullOrEmpty(this.Email))
return "";
else
return Crypto.Decrypt(this.Email, GlobalVars.VALID_KEY);
}
set
{
this.Email = value;
}
}
我要完成的工作是,设置该值时,它将是一个空字符串或加密的字符串,而当我需要该属性时,它将把空字符串或解密字符串传递给我
在调试模式下,我确实设置了一个断点以检查对象上的某些内容,并且当VS评估对象时,出现此错误:
在评估函数.... Email.get
时,目标进程以代码-2147023895退出。
对此有何建议?!
预先感谢
答案 0 :(得分:2)
您在Email
中调用get
,这将创建一个无限循环。
尝试一下:
private string _email;
public string Email
{
get
{
if (String.IsNullOrEmpty(_email))
return "";
else
return Crypto.Decrypt(_email, GlobalVars.VALID_KEY);
}
set
{
_email = value;
}
}