using System; using System.Collections.Generic; using System.Text; namespace JiShe.CollectBus.Analyzers.Shared { /// /// 实体成员信息 /// public sealed class EntityMemberInfo { /// /// 名称或者路径 /// public string NameOrPath { get; set; } /// /// 声明的类型 /// public Type DeclaredType { get; set; } /// /// 声明的类型的名称 /// public string DeclaredTypeName { get; } /// /// 获取值 /// public Func Getter { get; } /// /// 设置值 /// public Action Setter { get; } /// /// 自定义Attribute集合 /// public List CustomAttributes { get; set; } public EntityMemberInfo( string nameOrPath, Type declaredType, string declaredTypeName, Func getter, Action setter) { NameOrPath = nameOrPath; this.DeclaredType = declaredType; DeclaredTypeName = declaredTypeName; Getter = getter; Setter = setter; } public object GetValue(object entity) => Getter(entity); public void SetValue(object entity, object value) => Setter(entity, value); } }