Exemplo n.º 1
0
        public CryptoPolicy(IEnumerable <Assembly> extraAssemblies)
        {
            IEnumerable <Type> policyTypes = TypeDiscovery.Interface(typeof(ICryptoPolicy), extraAssemblies);

            foreach (Type policyType in policyTypes)
            {
                ICryptoPolicy instance = Activator.CreateInstance(policyType) as ICryptoPolicy;
                _policies.Add(instance.Name, instance);
            }
        }
Exemplo n.º 2
0
        public ICryptoFactory Create(ICryptoPolicy policy)
        {
            if (policy == null)
            {
                throw new ArgumentNullException("policy");
            }

            lock (_factories)
            {
                return(policy.DefaultCryptoFactory(_factories.Values.OrderByDescending(f => f().Priority)));
            }
        }