-
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-/**\r
- * Namespace: System.Web.UI\r
- * Class: ToolboxDataAttribute\r
- *\r
- * Author: Gaurav Vaish\r
- * Maintainer: gvaish@iitk.ac.in\r
- * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>\r
- * Implementation: yes\r
- * Status: 100%\r
- *\r
- * (C) Gaurav Vaish (2002)\r
- */\r
-\r
-using System;\r
-\r
-namespace System.Web.UI\r
-{\r
- [AttributeUsage(AttributeTargets.Class)]\r
- public sealed class ToolboxDataAttribute : Attribute\r
- {\r
- public static readonly ToolboxDataAttribute Default = new ToolboxDataAttribute("");\r
-\r
- private string data;\r
-\r
- public ToolboxDataAttribute(string data)\r
- {\r
- this.data = data;\r
- }\r
-\r
- public string Data\r
- {\r
- get\r
- {\r
- return data;\r
- }\r
- }\r
-\r
- public override bool IsDefaultAttribute()\r
- {\r
- return Default.Equals(this);\r
- }\r
-\r
- public override bool Equals(object obj)\r
- {\r
- if(obj != null && obj is ToolboxDataAttribute)\r
- {\r
- ToolboxDataAttribute tda = (ToolboxDataAttribute)obj;\r
- return (tda.Data == Data);\r
- }\r
- return false;\r
- }\r
-\r
- public override int GetHashCode()\r
- {\r
- return base.GetHashCode();\r
- }\r
- }\r
-}\r
+//
+// System.Web.UI.ToolboxDataAttribute.cs
+//
+// Authors:
+// Jackson Harper (jackson@ximian.com)
+//
+// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+
+using System.Security.Permissions;
+
+namespace System.Web.UI {
+
+ // CAS - no InheritanceDemand here as the class is sealed
+ [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
+ // attributes
+ [AttributeUsage(AttributeTargets.Class)]
+ public sealed class ToolboxDataAttribute : Attribute {
+
+ public static readonly ToolboxDataAttribute Default = new ToolboxDataAttribute (String.Empty);
+
+ private string data;
+
+ public ToolboxDataAttribute (string data)
+ {
+ this.data = data;
+ }
+
+ public string Data {
+ get { return data; }
+ }
+
+ public override bool Equals (object obj)
+ {
+ ToolboxDataAttribute other = obj as ToolboxDataAttribute;
+ if (other == null)
+ return false;
+ return other.Data == data;
+ }
+
+ public override int GetHashCode ()
+ {
+ if (data == null)
+ return -1;
+ return data.GetHashCode ();
+ }
+
+ public override bool IsDefaultAttribute ()
+ {
+#if NET_2_0
+ return ((data == null) || (data.Length == 0));
+#else
+ return ((data != null) && (data.Length == 0));
+#endif
+ }
+ }
+}
+
+