Merge pull request #644 from knocte/connstrings
[mono.git] / mcs / class / System.Configuration / System.Configuration / ConfigurationSectionCollection.cs
index ae4085e3600d7b11e8c9b1dd209df3ee6674c7ff..5b0f531e55d587d0fd1baeb8d20826a7bd236cc7 100644 (file)
 // Copyright (C) 2004 Novell, Inc (http://www.novell.com)
 //
 
-#if NET_2_0
 using System;
 using System.Collections;
 using System.Collections.Specialized;
+using System.Runtime.Serialization;
 
 namespace System.Configuration
 {
@@ -41,14 +41,15 @@ namespace System.Configuration
                Configuration config;
                
                internal ConfigurationSectionCollection (Configuration config, SectionGroupInfo group)
+                       : base (StringComparer.Ordinal)
                {
                        this.config = config;
                        this.group = group;
                }
                
-               public ICollection AllKeys
+               public override NameObjectCollectionBase.KeysCollection Keys
                {
-                       get { return group.Sections.AllKeys; }
+                       get { return group.Sections.Keys; }
                }
                
                public override int Count 
@@ -107,7 +108,8 @@ namespace System.Configuration
                
                public override IEnumerator GetEnumerator()
                {
-                       return group.Sections.AllKeys.GetEnumerator ();
+                       foreach (string key in group.Sections.AllKeys)
+                               yield return this [key];
                }
                
                public string GetKey (int index)
@@ -127,6 +129,12 @@ namespace System.Configuration
                        SectionInfo secData = group.Sections [index] as SectionInfo;
                        config.RemoveConfigInfo (secData);
                }
+
+               [MonoTODO]
+               public override void GetObjectData (SerializationInfo info, StreamingContext context)
+               {
+                       throw new NotImplementedException ();
+               }
        }
 }
-#endif
+