using System;
using System.Runtime.InteropServices;
namespace System.Security.Permissions
{
/// Allows security actions for to be applied to code using declarative security. This class cannot be inherited.
// Token: 0x02000551 RID: 1361
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Constructor | AttributeTargets.Method, AllowMultiple = true, Inherited = false)]
[ComVisible(true)]
[Serializable]
public sealed class IsolatedStorageFilePermissionAttribute : IsolatedStoragePermissionAttribute
{
/// Initializes a new instance of the class with the specified .
/// One of the values.
// Token: 0x060031B8 RID: 12728 RVA: 0x000AB004 File Offset: 0x000A9204
public IsolatedStorageFilePermissionAttribute(SecurityAction action)
: base(action)
{
}
/// Creates and returns a new .
/// An that corresponds to this attribute.
// Token: 0x060031B9 RID: 12729 RVA: 0x000AB010 File Offset: 0x000A9210
public override IPermission CreatePermission()
{
IsolatedStorageFilePermission isolatedStorageFilePermission;
if (base.Unrestricted)
{
isolatedStorageFilePermission = new IsolatedStorageFilePermission(PermissionState.Unrestricted);
}
else
{
isolatedStorageFilePermission = new IsolatedStorageFilePermission(PermissionState.None);
isolatedStorageFilePermission.UsageAllowed = base.UsageAllowed;
isolatedStorageFilePermission.UserQuota = base.UserQuota;
}
return isolatedStorageFilePermission;
}
}
}