partial void ReadConfiguration(ParameterExpressionConfiguration configuration) {
     if (!string.IsNullOrEmpty(configuration.@ref)) {
         _parameter = Scope.Find(configuration.@ref);
     }
     else {
         InternalType = Type.GetType(configuration.type);
         Name = configuration.name;
         _parameter = Expression.Parameter(InternalType, Name);
     }
 }
		public Expression Visit(IScope scope, ParameterExpressionConfiguration configuration) {
			return ExpressionReader.Parameter(configuration, scope, this);
		}
		public static Expression Parameter(ParameterExpressionConfiguration configuration, IScope scope, IExpressionConfigurationVisitor visitor) {
			return new ParameterExpressionReader(configuration, scope, visitor);
		}
 public static bool LoadFromFile(string fileName, out ParameterExpressionConfiguration obj) {
     System.Exception exception = null;
     return LoadFromFile(fileName, out obj, out exception);
 }
 /// <summary>
 /// Deserializes xml markup from file into an ParameterExpressionConfiguration object
 /// </summary>
 /// <param name="fileName">string xml file to load and deserialize</param>
 /// <param name="obj">Output ParameterExpressionConfiguration object</param>
 /// <param name="exception">output Exception value if deserialize failed</param>
 /// <returns>true if this XmlSerializer can deserialize the object; otherwise, false</returns>
 public static bool LoadFromFile(string fileName, out ParameterExpressionConfiguration obj, out System.Exception exception) {
     exception = null;
     obj = default(ParameterExpressionConfiguration);
     try {
         obj = LoadFromFile(fileName);
         return true;
     }
     catch (System.Exception ex) {
         exception = ex;
         return false;
     }
 }
 public static bool Deserialize(string xml, out ParameterExpressionConfiguration obj) {
     System.Exception exception = null;
     return Deserialize(xml, out obj, out exception);
 }
 /// <summary>
 /// Deserializes workflow markup into an ParameterExpressionConfiguration object
 /// </summary>
 /// <param name="xml">string workflow markup to deserialize</param>
 /// <param name="obj">Output ParameterExpressionConfiguration object</param>
 /// <param name="exception">output Exception value if deserialize failed</param>
 /// <returns>true if this XmlSerializer can deserialize the object; otherwise, false</returns>
 public static bool Deserialize(string xml, out ParameterExpressionConfiguration obj, out System.Exception exception) {
     exception = null;
     obj = default(ParameterExpressionConfiguration);
     try {
         obj = Deserialize(xml);
         return true;
     }
     catch (System.Exception ex) {
         exception = ex;
         return false;
     }
 }
		partial void ReadConfiguration(ParameterExpressionConfiguration configuration);
		internal ParameterExpressionReader(ParameterExpressionConfiguration configuration, IScope scope, IExpressionConfigurationVisitor visitor) 
			: base(scope, visitor) {

			_configuration = configuration;
			ReadConfiguration(configuration);	
		}