public CachedInterfaceSample(ISampleInterface originalImpl, Dictionary <MethodInfo, object> config) { var methods = InterfaceMethodsResolver.GetAllMethods(typeof(ISampleInterface)); var singleKeyAsync0ConfigManager = new CachedFunctionConfigurationManagerAsync_1Param <string, string>(originalImpl.SingleKeyAsync); var singleKeyAsync0ConfigFunc = (Func <ISingleKeyCachedFunctionConfigurationManagerAsync_1Param_KeySelector <string, string>, ICachedFunctionConfigurationManagerAsync_1Param <string, string> >)config[methods[0]]; _singleKeyAsync0 = singleKeyAsync0ConfigFunc(singleKeyAsync0ConfigManager).Build(); var singleKeySync1ConfigManager = new CachedFunctionConfigurationManagerSync_1Param <string, string>(originalImpl.SingleKeySync); var singleKeySync1ConfigFunc = (Func <ISingleKeyCachedFunctionConfigurationManagerSync_1Param_KeySelector <string, string>, ICachedFunctionConfigurationManagerSync_1Param <string, string> >)config[methods[1]]; _singleKeySync1 = singleKeySync1ConfigFunc(singleKeySync1ConfigManager).Build(); var singleKeyAsyncCanx2ConfigManager = new CachedFunctionConfigurationManagerAsyncCanx_1Param <string, string>(originalImpl.SingleKeyAsyncCanx); var singleKeyAsyncCanx2ConfigFunc = (Func <ISingleKeyCachedFunctionConfigurationManagerAsyncCanx_1Param_KeySelector <string, string>, ICachedFunctionConfigurationManagerAsyncCanx_1Param <string, string> >)config[methods[2]]; _singleKeyAsyncCanx2 = singleKeyAsyncCanx2ConfigFunc(singleKeyAsyncCanx2ConfigManager).Build(); var singleKeySyncCanx3ConfigManager = new CachedFunctionConfigurationManagerSyncCanx_1Param <string, string>(originalImpl.SingleKeySyncCanx); var singleKeySyncCanx3ConfigFunc = (Func <ISingleKeyCachedFunctionConfigurationManagerSyncCanx_1Param_KeySelector <string, string>, ICachedFunctionConfigurationManagerSyncCanx_1Param <string, string> >)config[methods[3]]; _singleKeySyncCanx3 = singleKeySyncCanx3ConfigFunc(singleKeySyncCanx3ConfigManager).Build(); var enumerableKeyAsync4ConfigManager = new Configuration.EnumerableKeys.CachedFunctionConfigurationManagerAsync <IEnumerable <string>, Dictionary <string, string>, string, string>(originalImpl.EnumerableKeyAsync); var enumerableKeyAsync4ConfigFunc = (Func <Configuration.EnumerableKeys.CachedFunctionConfigurationManagerAsync <IEnumerable <string>, Dictionary <string, string>, string, string>, ICachedFunctionConfigurationManagerAsync_1Param <IEnumerable <string>, Dictionary <string, string> > >)config[methods[4]]; _enumerableKeyAsync4 = enumerableKeyAsync4ConfigFunc(enumerableKeyAsync4ConfigManager).Build(); var enumerableKeySync5ConfigManager = new Configuration.EnumerableKeys.CachedFunctionConfigurationManagerSync <IEnumerable <string>, Dictionary <string, string>, string, string>(originalImpl.EnumerableKeySync); var enumerableKeySync5ConfigFunc = (Func <Configuration.EnumerableKeys.CachedFunctionConfigurationManagerSync <IEnumerable <string>, Dictionary <string, string>, string, string>, ICachedFunctionConfigurationManagerSync_1Param <IEnumerable <string>, Dictionary <string, string> > >)config[methods[5]]; _enumerableKeySync5 = enumerableKeySync5ConfigFunc(enumerableKeySync5ConfigManager).Build(); var enumerableKeyAsyncCanx6ConfigManager = new Configuration.EnumerableKeys.CachedFunctionConfigurationManagerAsyncCanx <IEnumerable <string>, Dictionary <string, string>, string, string>(originalImpl.EnumerableKeyAsyncCanx); var enumerableKeyAsyncCanx6ConfigFunc = (Func <Configuration.EnumerableKeys.CachedFunctionConfigurationManagerAsyncCanx <IEnumerable <string>, Dictionary <string, string>, string, string>, ICachedFunctionConfigurationManagerAsyncCanx_1Param <IEnumerable <string>, Dictionary <string, string> > >)config[methods[6]]; _enumerableKeyAsyncCanx6 = enumerableKeyAsyncCanx6ConfigFunc(enumerableKeyAsyncCanx6ConfigManager).Build(); var enumerableKeySyncCanx7ConfigManager = new Configuration.EnumerableKeys.CachedFunctionConfigurationManagerSyncCanx <IEnumerable <string>, Dictionary <string, string>, string, string>(originalImpl.EnumerableKeySyncCanx); var enumerableKeySyncCanx7ConfigFunc = (Func <Configuration.EnumerableKeys.CachedFunctionConfigurationManagerSyncCanx <IEnumerable <string>, Dictionary <string, string>, string, string>, ICachedFunctionConfigurationManagerSyncCanx_1Param <IEnumerable <string>, Dictionary <string, string> > >)config[methods[7]]; _enumerableKeySyncCanx7 = enumerableKeySyncCanx7ConfigFunc(enumerableKeySyncCanx7ConfigManager).Build(); }
internal CachedInterfaceConfigurationManager(T originalImpl) { _originalImpl = originalImpl; _allInterfaceMethods = new HashSet <MethodInfo>(InterfaceMethodsResolver.GetAllMethods(typeof(T))); _functionCacheConfigurationFunctions = new Dictionary <MethodInfo, object>(); }