我想知道是否可以使用 .Net 自定义类型为对象的生命周期添加一个临时字段。我并不是要在 POCO 类中添加一个永久存在的字段,而是我在想一些临时的东西。例如,考虑一个具有 3 个字段的人员类:
Id int
Name string
Status string
就在工作时,我需要存储旧状态。我不想要一个可以帮助发展的永久领域。
您可以派生新的“仅调试”版本的类并在那里添加新字段。如果你使用某种工厂或依赖注入框架来构造对象,你应该能够在运行时做到这一点。
class DebugWrapper : MyPlainClass
{
public string AdditionalData {get;set;}
}
另一种选择是用于#if DEBUG
为调试构建添加字段。可能会起作用,但您会冒着测试从未提供给他人的代码的风险 - 所以尽量不要走这条路:
class MyPlainClass
{
// normal fields
#if DEBUG
public string AdditionalData {get;set;}
#endif
}