c# - 属性值更改而不调用 setter
问题描述
我正在使用上下文类进行需要插入记录的项目。但是,在插入之前,“DataArea”属性之一被设置为它不应该具有的值。
我开始调试代码以查看该值的确切设置位置,并且我已将 getter 和 setter (get; set;) 的简短书面版本更改为:
public DataAreaEnum _DataArea;
public DataAreaEnum DataArea
{
get
{
return _DataArea;
}
set
{
_DataArea = value;
Debugger.Break();
}
}
通过这样做,我希望调试器在设置值时会中断,但是这永远不会被击中。我被困住了,不知道该怎么想。有没有其他方法可以设置这个值?如果设置器中的断点从未被命中,我如何才能找到该值的设置位置?
完整的类代码:
using Works.Common.Models;
using System.Collections.Generic;
using System.Diagnostics;
namespace Works.Models.Toolsheets
{
public partial class Toolblad : ModelBase
{
public Toolblad()
{
Bijlagen = new HashSet<Bijlage>();
//Carrousels = new HashSet<Carrousel>();
KlauwplaatSlijpers = new HashSet<KlauwplaatSlijper>();
Klauwplaten = new HashSet<Klauwplaat>();
Laadtafels = new HashSet<Laadtafel>();
Laders = new HashSet<Lader>();
MblStangenLaders = new HashSet<MblStangenLader>();
MblStangenLaderWisselpunten = new HashSet<MblStangenLaderWisselpunt>();
Shuttles = new HashSet<Shuttle>();
Spankoppen = new HashSet<Spankop>();
SpankopSlijpers = new HashSet<SpankopSlijper>();
Revolvers = new HashSet<ToolbladRevolver>();
}
public DataAreaEnum _DataArea;
public DataAreaEnum DataArea
{
get
{
return _DataArea;
}
set
{
_DataArea = value;
Debugger.Break();
}
}
public bool IsTemplate { get; set; }
#region Navigation Properties
public virtual AlgemeneInfo AlgemeneInfo { get; set; }
public int AlgemeneInfoId { get; set; }
public ICollection<Bijlage> Bijlagen { get; set; }
//public ICollection<Carrousel> Carrousels { get; set; }
public ICollection<KlauwplaatSlijper> KlauwplaatSlijpers { get; set; }
public ICollection<Klauwplaat> Klauwplaten { get; set; }
public ICollection<Laadtafel> Laadtafels { get; set; }
public ICollection<Lader> Laders { get; set; }
public MachineGroep MachineGroep { get; set; }
public int MachineGroepId { get; set; }
public ICollection<MblStangenLader> MblStangenLaders { get; set; }
public ICollection<MblStangenLaderWisselpunt> MblStangenLaderWisselpunten { get; set; }
public ICollection<ToolbladRevolver> Revolvers { get; set; }
public ICollection<Shuttle> Shuttles { get; set; }
public ICollection<Spankop> Spankoppen { get; set; }
public ICollection<SpankopSlijper> SpankopSlijpers { get; set; }
#endregion Navigation Properties
}
}
解决方案
我注意到 Toolblad 是一个部分类。其他地方是否有任何代码更改_DataArea?尝试在该代码文件中将其重命名为其他名称(例如_dataArea),看看它是否仍然可以编译。
这样做会捕获任何试图访问它的意外代码。
推荐阅读
- android - Android Studio 4.1 评估调试数据的问题
- javascript - Django,如何处理获取请求
- cryptography - 从 DES 中的 48 位轮密钥推断 64 位密钥
- javascript - express js,拒绝连接到来自其他计算机的端点
- html - 我的 CSS 悬停以更改按钮的背景颜色不起作用
- docker - kafka 容器 - 无法建立到节点 -1 (localhost/127.0.0.1:9092) 的连接。经纪人可能不可用
- react-native - 我如何在本机反应时读取文件?
- javascript - 如何根据数据更改highcharts半径
- mysql - 涉及连接的查询 - 合并来自我们的 2 个表的数据
- kotlin - 在 Ktor 中访问请求中的路由路径字符串