コード例 #1
0
 public WaveSplitter(IWaveProvider input, int count)
 {
     this.input = input;
     splitters  = new SplitProvider[count];
     for (int i = 0; i < count; i++)
     {
         splitters[i] = new SplitProvider(this);
     }
     readBuffer = new byte[input.WaveFormat.AverageBytesPerSecond];
 }
コード例 #2
0
        public static async Task <IFeatureProvider> GetProvider(string providerName)
        {
            IFeatureProvider provider     = null;
            Provider         providerEnum = Provider.None;

            if (Enum.TryParse <Provider>(providerName.ToLower(), out providerEnum))
            {
                switch (providerEnum)
                {
                case Provider.split:
                    provider = new SplitProvider();
                    break;

                case Provider.rollout:
                    provider = new RolloutProvider();
                    break;

                case Provider.featureflow:
                    provider = new FeatureFlowProvider();
                    break;

                case Provider.optimizely:
                    provider = new OptimizelyProvider();
                    break;

                case Provider.launchdarkly:
                    provider = new LaunchDarklyProvider();
                    break;
                }
            }
            else
            {
                throw new Exception($"[{providerName}] is not a valid provider. Kindly select one of the available Providers: [{Enum.GetValues(typeof(Provider))}]");
            }
            await provider.Initialize();

            return(provider);
        }