我正在使用 IDataErrorInfo 接口来验证我的实体。只要验证逻辑从属性中读取元数据,所有实体都是一样的,所以我创建了类
public class DataErrorInfo : IDataErrorInfo
所有实体都源自它。问题是,我希望缓存派生类的反射信息以加快验证速度,因此每个实体类型都应该在每个正在运行的应用程序中初始化这个缓存一次。
我在考虑使用static readonly
字段,但发现它是用第一次使用的实体类型的反射信息初始化的,所以如果有实体 A 和实体 B,并且首先访问实体 A,实体 B 将具有实体 A 反射缓存。