public override IPermission CreatePermission()
{
if (base.m_unrestricted)
{
return(new RegistryPermission(PermissionState.Unrestricted));
}
RegistryPermission permission = new RegistryPermission(PermissionState.None);
if (this.m_read != null)
{
permission.SetPathList(RegistryPermissionAccess.Read, this.m_read);
}
if (this.m_write != null)
{
permission.SetPathList(RegistryPermissionAccess.Write, this.m_write);
}
if (this.m_create != null)
{
permission.SetPathList(RegistryPermissionAccess.Create, this.m_create);
}
if (this.m_viewAcl != null)
{
permission.SetPathList(AccessControlActions.View, this.m_viewAcl);
}
if (this.m_changeAcl != null)
{
permission.SetPathList(AccessControlActions.Change, this.m_changeAcl);
}
return(permission);
}