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); }
IAsyncAdapter CreateAsyncAdapter() { if (Sync) { return(AsyncOverSyncAdapter.Instance); } return(CustomAsyncAdapters.GetAdapter(Provider.GetType()) ?? new ReflectionAsyncAdapter(ProviderInfo)); }