/// <summary>Creates and returns a new <see cref="T:System.Security.Permissions.RegistryPermission" />.</summary>
/// <returns>A <see cref="T:System.Security.Permissions.RegistryPermission" /> that corresponds to this attribute.</returns>
public override IPermission CreatePermission()
{
RegistryPermission registryPermission;
if (base.Unrestricted)
{
registryPermission = new RegistryPermission(PermissionState.Unrestricted);
}
else
{
registryPermission = new RegistryPermission(PermissionState.None);
if (this.create != null)
{
registryPermission.AddPathList(RegistryPermissionAccess.Create, this.create);
}
if (this.read != null)
{
registryPermission.AddPathList(RegistryPermissionAccess.Read, this.read);
}
if (this.write != null)
{
registryPermission.AddPathList(RegistryPermissionAccess.Write, this.write);
}
}
return(registryPermission);
}