Пример #1
0
        public static bool TryCreate(
            ITracer tracer,
            string dictionaryPath,
            PhysicalFileSystem fileSystem,
            out FileBasedDictionary <TKey, TValue> output,
            out string error,
            IEqualityComparer <TKey> keyComparer = null)
        {
            output = new FileBasedDictionary <TKey, TValue>(
                tracer,
                fileSystem,
                dictionaryPath,
                keyComparer ?? EqualityComparer <TKey> .Default);

            if (!output.TryLoadFromDisk <TKey, TValue>(
                    output.TryParseAddLine,
                    output.TryParseRemoveLine,
                    output.HandleAddLine,
                    out error))
            {
                output = null;
                return(false);
            }

            return(true);
        }