SecurityAttribute.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. //------------------------------------------------------------------------------
  2. //
  3. // System.Security.Permissions.SecurityPermissionAttribute.cs
  4. //
  5. // Copyright (C) 2001 Nick Drochak, All Rights Reserved
  6. //
  7. // Author: Nick Drochak, [email protected]
  8. // Created: 2002-01-06
  9. //
  10. //------------------------------------------------------------------------------
  11. using System;
  12. using System.Security;
  13. using System.Security.Permissions;
  14. namespace System.Security.Permissions {
  15. [System.AttributeUsage(
  16. System.AttributeTargets.Assembly
  17. | System.AttributeTargets.Class
  18. | System.AttributeTargets.Struct
  19. | System.AttributeTargets.Constructor
  20. | System.AttributeTargets.Method,
  21. AllowMultiple=true,
  22. Inherited=false)
  23. ]
  24. [Serializable]
  25. public abstract class SecurityAttribute : Attribute {
  26. private SecurityAction m_Action;
  27. private bool m_Unrestricted;
  28. public SecurityAttribute(SecurityAction action) {
  29. if (!SecurityAction.IsDefined(typeof(SecurityAction), action)) {
  30. throw new System.ArgumentException();
  31. }
  32. }
  33. public abstract IPermission CreatePermission();
  34. public bool Unrestricted {
  35. get {
  36. return m_Unrestricted;
  37. }
  38. set {
  39. m_Unrestricted = value;
  40. }
  41. }
  42. public SecurityAction Action {
  43. get {
  44. return m_Action;
  45. }
  46. set {
  47. m_Action = value;
  48. }
  49. }
  50. } // public abstract class SecurityAttribute
  51. } // namespace System.Security.Permissions