// Gonzalo Paniagua (gonzalo@ximian.com)
//
// (C) 2002 Ximian, Inc. (http://www.ximian.com
-//
-
+// 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.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 ParseChildrenAttribute : Attribute
{
bool childrenAsProperties;
string defaultProperty;
public static readonly ParseChildrenAttribute Default = new ParseChildrenAttribute ();
+
+#if NET_2_0
+ public static readonly ParseChildrenAttribute ParseAsChildren = new ParseChildrenAttribute (false);
+ public static readonly ParseChildrenAttribute ParseAsProperties = new ParseChildrenAttribute (true);
+
+ Type childType = typeof(System.Web.UI.Control);
+#endif
// LAMESPEC
public ParseChildrenAttribute ()
if (childrenAsProperties)
this.defaultProperty = defaultProperty;
}
+#if NET_2_0
+ public ParseChildrenAttribute (Type childControlType)
+ {
+ childType = childControlType;
+ defaultProperty = "";
+ }
+#endif
public bool ChildrenAsProperties {
set { defaultProperty = value; }
}
+#if NET_2_0
+ public Type ChildControlType {
+ get { return childType; }
+ }
+#endif
+
public override bool Equals (object obj)
{
- if (!(obj is ParseChildrenAttribute))
+ ParseChildrenAttribute o = (obj as ParseChildrenAttribute);
+ if (o == null)
return false;
- ParseChildrenAttribute o = (ParseChildrenAttribute) obj;
if (childrenAsProperties == o.childrenAsProperties){
if (childrenAsProperties == false)
return true;