Parameter
Represents a configuration parameter.
            
                using Castle.Core.Configuration;
namespace Castle.MicroKernel.Registration
{
    public class Parameter
    {
        private readonly string key;
        private readonly object value;
        public IConfiguration ConfigNode => value as IConfiguration;
        public string Key => key;
        public string Value => value as string;
        internal Parameter(string key, string value)
        {
            this.key = key;
            this.value = value;
        }
        internal Parameter(string key, IConfiguration configNode)
        {
            this.key = key;
            value = configNode;
        }
        public static ParameterKey ForKey(string key)
        {
            return new ParameterKey(key);
        }
        public static implicit operator Dependency(Parameter parameter)
        {
            if (parameter != null)
                return new Dependency(parameter);
            return null;
        }
    }
}