//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.Web.Configuration { using System; using System.Xml; using System.Configuration; using System.Collections.Specialized; using System.Collections; using System.Globalization; using System.IO; using System.Text; using System.Web.Compilation; using System.Reflection; using System.Web.Hosting; using System.Web.UI; using System.CodeDom.Compiler; using System.Web.Util; using System.ComponentModel; using System.Security.Permissions; public sealed class ExpressionBuilder : ConfigurationElement { private static ConfigurationPropertyCollection _properties; private static readonly ConfigurationProperty _propExpressionPrefix = new ConfigurationProperty("expressionPrefix", typeof(string), null, null, StdValidatorsAndConverters.NonEmptyStringValidator, ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey); private static readonly ConfigurationProperty _propType = new ConfigurationProperty("type", typeof(string), null, null, StdValidatorsAndConverters.NonEmptyStringValidator, ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsTypeStringTransformationRequired); static ExpressionBuilder() { _properties = new ConfigurationPropertyCollection(); _properties.Add(_propExpressionPrefix); _properties.Add(_propType); } internal ExpressionBuilder() { } public ExpressionBuilder(string expressionPrefix, string theType) { ExpressionPrefix = expressionPrefix; Type = theType; } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } [ConfigurationProperty("expressionPrefix", IsRequired = true, IsKey = true, DefaultValue = "")] [StringValidator(MinLength = 1)] public string ExpressionPrefix { get { return (string)base[_propExpressionPrefix]; } set { base[_propExpressionPrefix] = value; } } [ConfigurationProperty("type", IsRequired = true, DefaultValue = "")] [StringValidator(MinLength = 1)] public string Type { get { return (string)base[_propType]; } set { base[_propType] = value; } } internal Type TypeInternal { get { return CompilationUtil.LoadTypeWithChecks(Type, typeof(System.Web.Compilation.ExpressionBuilder), null, this, "type"); } } } }