Пример #1
0
                static IFileProvider fileProviderResolve(FileProviderTypes fileProviderTypes, object args)
                {
                    // 根据类型创建对应 提供器
                    IFileProvider fileProvider = fileProviderTypes switch
                    {
                        FileProviderTypes.Embedded => new EmbeddedFileProvider(args as Assembly),
                        FileProviderTypes.Physical => new PhysicalFileProvider(args as string),
                        _ => throw new NotSupportedException()
                    };

                    return(fileProvider);
                }

                // 转换成委托
                return((Func <FileProviderTypes, object, IFileProvider>)fileProviderResolve);
            });
Пример #2
0
Файл: FS.cs Проект: lht6/Furion
        /// <summary>
        /// 文件提供器
        /// </summary>
        /// <param name="fileProviderTypes"></param>
        /// <param name="args"></param>
        /// <param name="serviceProvider"></param>
        /// <returns></returns>
        public static IFileProvider GetFileProvider(FileProviderTypes fileProviderTypes, object args, IServiceProvider serviceProvider = default)
        {
            var fileProviderResolve = App.GetService <Func <FileProviderTypes, object, IFileProvider> >(serviceProvider);

            return(fileProviderResolve(fileProviderTypes, args));
        }