// Duncan Mak (duncan@ximian.com)
//
// (C) Ximian, Inc.
-//
-
+// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-using System;
using System.Collections;
+using System.Security.Permissions;
namespace System.Web.UI {
+ // CAS - no InheritanceDemand here as the class is sealed
+ [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class DataBindingCollection : ICollection, IEnumerable
{
Hashtable list;
public void Add (DataBinding binding)
{
list.Add (binding.PropertyName, binding);
+ RaiseChanged ();
}
public void Clear ()
public void CopyTo (Array array, int index)
{
- list.CopyTo (array, index);
+ list.Values.CopyTo (array, index);
}
public IEnumerator GetEnumerator ()
{
removed.Add (propertyName);
list.Remove (propertyName);
+ RaiseChanged ();
}
public void Remove (string propertyName,
list.Remove (propertyName);
}
+
+#if NET_2_0
+ public bool Contains (string propertyName)
+ {
+ return list.Contains (propertyName);
+ }
+
+ public event EventHandler Changed;
+#else
+ internal event EventHandler Changed;
+#endif
+ internal void RaiseChanged ()
+ {
+ if (Changed != null)
+ Changed (this, EventArgs.Empty);
+ }
}
}