Merge branch 'master' of github.com:mono/mono
[mono.git] / mcs / class / System.Web / System.Web.UI / KeyedList.cs
index f6b5fa2ecfb639dd95355baf28ec2ec10d0b5562..07daeb5f5038a58ab8ad7579bf07f8b885faa67b 100644 (file)
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if NET_2_0
-
 using System.Collections;
 using System.Collections.Specialized;
 
 namespace System.Web.UI
 {
-
-       public class KeyedList : IOrderedDictionary, IStateManager
+       class KeyedList : IOrderedDictionary
+#if !NET_4_0
+       , IStateManager // why do we implement it at all?
+#endif
        {
 
-               private Hashtable objectTable = new Hashtable ();
-               private ArrayList objectList = new ArrayList ();
+               Hashtable objectTable = new Hashtable ();
+               ArrayList objectList = new ArrayList ();
 
                public void Add (object key, object value)
                {
@@ -93,11 +93,16 @@ namespace System.Web.UI
                        return new KeyedListEnumerator (objectList);
                }
 
-               IEnumerator IEnumerable.GetEnumerator ()
+               IDictionaryEnumerator IOrderedDictionary.GetEnumerator ()
                {
                        return new KeyedListEnumerator (objectList);
                }
 
+               IEnumerator IEnumerable.GetEnumerator ()
+               {
+                       return new KeyedListEnumerator (objectList);
+               }
+#if !NET_4_0
                void IStateManager.LoadViewState (object state)
                {
                        if (state != null)
@@ -127,7 +132,7 @@ namespace System.Web.UI
                {
                        trackViewState = true;
                }
-
+#endif
                public int Count {
                        get { return objectList.Count; }
                }
@@ -195,13 +200,14 @@ namespace System.Web.UI
                        get { return this; }
                }
 
-               private bool trackViewState;
+#if !NET_4_0
+               bool trackViewState;
 
                bool IStateManager.IsTrackingViewState {
                        get { return trackViewState; }
                }
-
-               private int IndexOf (object key)
+#endif
+               int IndexOf (object key)
                {
                        for (int i = 0; i < objectList.Count; i++)
                        {
@@ -214,5 +220,3 @@ namespace System.Web.UI
                }
        }
 }
-
-#endif