Beagrep.Daemon.FilterFactory.CreateFilters C# (CSharp) Метод

CreateFilters() приватный статический Метод

private static CreateFilters ( Uri uri, string extension, string mime_type ) : ICollection
uri System.Uri
extension string
mime_type string
Результат ICollection
        private static ICollection CreateFilters(Uri uri, string extension, string mime_type)
        {
            SortedList matched_filters_by_flavor = FilterFlavor.NewHashtable ();

            foreach (FilterFlavor flavor in FilterFlavor.Flavors) {
                if (flavor.IsMatch (uri, extension, mime_type)) {
                    Filter matched_filter = null;

                    try {
                        matched_filter = (Filter) Activator.CreateInstance ((Type) FilterFlavor.FilterTable [flavor]);

                        if (flavor.MimeType != null)
                            matched_filter.MimeType = flavor.MimeType;
                        if (flavor.Extension != null)
                            matched_filter.Extension = flavor.Extension;

                    } catch (Exception e) {
                        continue;
                    }
                    matched_filters_by_flavor [flavor] = matched_filter;
                }
            }

            if (Debug) {
                foreach (DictionaryEntry entry in matched_filters_by_flavor) {
                    FilterFlavor flav = (FilterFlavor) entry.Key;
                    Filter filter = (Filter) entry.Value;

                    Logger.Log.Debug ("Found matching filter: {0}, Weight: {1}", filter, flav.Weight);
                }
            }

            return matched_filters_by_flavor.Values;
        }