gpt4 book ai didi

c# - 在 C# 中为对象实现审计跟踪?

转载 作者:太空狗 更新时间:2023-10-29 20:26:19 26 4
gpt4 key购买 nike

我正在寻找有关如何在 C# 中为我的对象实现审计跟踪的想法,对于当前项目,基本上我需要:

  1. 存储给定对象的旧值和新值。
  2. 记录新对象的创建。
  3. 删除旧对象。

有没有什么通用的方法可以做到这一点,比如使用 C# 泛型,这样我就不必为基础对象的事件编写代码,比如创建时、删除时等(ORM 对象)。问题是如果有一种方法可以在使用 .

请分享您的想法等

最佳答案

您可以实现类似于 INotifyPropertyChanged 的​​东西,但略有不同。我已经提取了大部分 INotifyPropertyChanged 并将其更改为通用的并存储新值和旧值。然后你可以有某种管理类可以听这个和 onSaving 和 onDeleting 你可以处理变化。

public interface INotifyProperyChanged<T>
{
event PropertyChangedEventHandler<T> PropertyChanged;
}

public delegate void PropertyChangedEventHandler<T>(object sender,
PropertyChangedEventArgs<T> e);

public class PropertyChangedEventArgs<T> : EventArgs
{
private readonly string propertyName;

public PropertyChangedEventArgs(string propertyName)
{
this.propertyName = propertyName
}

public virtual string PropertyName { get { return propertyName; } }

public T OldValue { get; set; }
public T NewValue { get; set; }
}

关于c# - 在 C# 中为对象实现审计跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/328898/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com