IAsyncAdapter CreateAsyncAdapter()
        {
            if (Sync)
            {
                return(AsyncOverSyncAdapter.Instance);
            }

            var providerType = Provider.GetType();

            var customAdapter = CustomAsyncAdapters.GetAdapter(providerType);

            if (customAdapter != null)
            {
                return(customAdapter);
            }

            if (ReflectionAsyncAdapter.SupportsProvider(ProviderInfo))
            {
                return(new ReflectionAsyncAdapter(ProviderInfo));
            }

            if (AllowAsyncOverSync)
            {
                return(AsyncOverSyncAdapter.Instance);
            }

            throw ProviderNotSupported(providerType);
        }
Пример #2
0
        IAsyncAdapter CreateAsyncAdapter()
        {
            if (Sync)
            {
                return(AsyncOverSyncAdapter.Instance);
            }

            return(CustomAsyncAdapters.GetAdapter(Provider.GetType())
                   ?? new ReflectionAsyncAdapter(ProviderInfo));
        }