Exemple #1
0
        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);
        }
Exemple #2
0
 public void RegistInspectInfoFilter(InspectInfoFilter filter, int index)
 {
     this.InspectInfoFilterDictionary.Add(filter, index);
 }