2007-05-06 Igor Zelmanovich <igorz@mainsoft.com>
[mono.git] / mcs / class / System.Web / System.Web.Configuration_2.0 / ExpressionBuilder.cs
index dc7876cef589a50aa30046c25b569ff715e9fb23..37e931fee2986c65b8d49d0a0900df8a580527ec 100644 (file)
@@ -30,6 +30,7 @@
 //
 
 using System;
+using System.ComponentModel;
 using System.Configuration;
 
 #if NET_2_0
@@ -44,14 +45,24 @@ namespace System.Web.Configuration {
 
                static ExpressionBuilder ()
                {
-                       expressionPrefixProp = new ConfigurationProperty ("expressionPrefix", typeof (string), "", ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey);
-                       typeProp = new ConfigurationProperty ("type", typeof (string), "", ConfigurationPropertyOptions.IsRequired);
+                       expressionPrefixProp = new ConfigurationProperty ("expressionPrefix", typeof (string), null,
+                                                                         TypeDescriptor.GetConverter (typeof (string)),
+                                                                         PropertyHelper.NonEmptyStringValidator,
+                                                                         ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey);
+                       typeProp = new ConfigurationProperty ("type", typeof (string), null,
+                                                             TypeDescriptor.GetConverter (typeof (string)),
+                                                             PropertyHelper.NonEmptyStringValidator,
+                                                             ConfigurationPropertyOptions.IsRequired);
                        properties = new ConfigurationPropertyCollection ();
 
                        properties.Add (expressionPrefixProp);
                        properties.Add (typeProp);
                }
 
+               internal ExpressionBuilder ()
+               {
+               }
+
                public ExpressionBuilder (string expressionPrefix, string theType)
                {
                        this.ExpressionPrefix = expressionPrefix;
@@ -59,19 +70,25 @@ namespace System.Web.Configuration {
                }
 
                [StringValidator (MinLength = 1)]
-               [ConfigurationProperty ("expressionPrefix", DefaultValue = "", Options = ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey)]
+               [ConfigurationProperty ("expressionPrefix", Options = ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey)]
                public string ExpressionPrefix {
                        get { return (string) base[expressionPrefixProp]; }
                        set { base[expressionPrefixProp] = value; }
                }
 
                [StringValidator (MinLength = 1)]
-               [ConfigurationProperty ("type", DefaultValue = "", Options = ConfigurationPropertyOptions.IsRequired)]
+               [ConfigurationProperty ("type", Options = ConfigurationPropertyOptions.IsRequired)]
                public string Type {
                        get { return (string) base[typeProp]; }
                        set { base[typeProp] = value; }
                }
 
+               internal Type TypeInternal {
+                       get {
+                               return System.Type.GetType (this.Type, true);
+                       }
+               }
+
                protected override ConfigurationPropertyCollection Properties {
                        get { return properties; }
                }