예제 #1
0
        private bool IsExtensionOf(IType type, IExtensionEnabled entity)
        {
            if (entity == null || !entity.IsExtension)
            {
                return(false);
            }

            IParameter[] parameters = entity.GetParameters();
            if (parameters.Length == 0)
            {
                return(false);
            }

            IType extensionType = parameters[0].Type;

            return(IsValidExtensionType(type, extensionType, entity));
        }
예제 #2
0
            public bool Match(object item)
            {
                IExtensionEnabled e = item as IExtensionEnabled;

                if (e == null)
                {
                    return(true);
                }
                if (!e.IsExtension)
                {
                    return(true);
                }
                IParameter[] parameters = e.GetParameters();
                if (parameters.Length == 0)
                {
                    return(true);
                }
                return(!parameters[0].Type.IsAssignableFrom(_type));
            }