public static InspectInfoFilter RegistFilter() { //注册一个使用Attribute的检索识别过滤器 InspectInfoFilter AttributeFilter = (InspectorManager context, object host, MemberInfo memberInfo, ref InspectInfo inspectInfo) => { //若inspectInfo尚未定义 if ((!context.asset.Flags.Contains(InspectFlags.DisableMemberAttribute)) && inspectInfo == null) { foreach (var memberAttributeType in context.MemberAttributeTypes) { var memberAttribute = memberInfo.GetCustomAttribute(memberAttributeType) as MemberAttribute; if (memberAttribute != null) { //如果该Member上标记了某种MemberAttribute inspectInfo = memberAttribute.inspectInfo; return(true); } } } return(false); }; return(AttributeFilter); }
public void RegistInspectInfoFilter(InspectInfoFilter filter, int index) { this.InspectInfoFilterDictionary.Add(filter, index); }