c# - 从对象获取属性
问题描述
我有一个对象,可以对某些属性进行加密(如果数据库上有相关信息)或为空(如果数据库上没有相关信息)
例如,对于电子邮件,我是这样做的;
public string Email
{
get
{
if (String.IsNullOrEmpty(this.Email))
return "";
else
return Crypto.Decrypt(this.Email, GlobalVars.VALID_KEY);
}
set
{
this.Email = value;
}
}
我试图通过这个来完成的是,当设置值时,它将是一个空字符串或加密字符串,当我需要该属性时,它会将空字符串或解密字符串传递给我
在调试模式下,我确实设置了一个断点来检查对象上的某些内容,当 VS 评估对象时,我收到了这个错误:
目标进程在评估函数时以代码 -2147023895 退出 ....Email.get
对此有何建议?!
提前致谢
解决方案
您调用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;
}
}
推荐阅读
- javascript - 使用 Vue 时从烧瓶 api 迭代和显示结果的问题
- c++ - C++ 和 OpenCV 处理来自 IDS 相机的图像;转换为垫
- python - 数据框将标题行转换为熊猫行
- r - 按唯一 ID 子集数据
- javascript - 如何取消正在进行的http调用解析或拒绝角度组件的onDestroy
- gatsby - Gatsby Build 不会为非页面组件生成 html
- office-js - Office word web addin中的拖放操作
- node.js - Webpack 生产构建样式不出现
- php - 权限被拒绝:无法打开索引目录:/var/www/html/
- dynamics-crm - 在 Dynamics CRM 统一界面中的查找字段下隐藏或删除“更改视图”选项