From 56cd520fce4460ae67b51d44f7fa221888b91745 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=9F=B3=E5=A4=B4?= Date: Sat, 8 Jul 2023 09:09:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=9D=83=E9=99=90=E9=A1=B9Pe?= =?UTF-8?q?rmissionFlags=EF=BC=8C=E6=94=B9=E4=B8=BAUInt32=EF=BC=8C?= =?UTF-8?q?=E6=9C=80=E5=A4=A7=E5=80=BC0xFFFFFFFF=EF=BC=8C=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E5=AD=98=E5=82=A8-1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- XCode/Membership/PermissionFlags.cs | 4 ++-- XCode/Membership/角色.Biz.cs | 2 +- .../Membership/PermissionFlagsTests.cs | 23 +++++++++++++++++++ 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 XUnitTest.XCode/Membership/PermissionFlagsTests.cs diff --git a/XCode/Membership/PermissionFlags.cs b/XCode/Membership/PermissionFlags.cs index 5e971b589..4b53153aa 100644 --- a/XCode/Membership/PermissionFlags.cs +++ b/XCode/Membership/PermissionFlags.cs @@ -5,7 +5,7 @@ namespace XCode.Membership; /// 操作权限 [Flags] [Description("操作权限")] -public enum PermissionFlags +public enum PermissionFlags : UInt32 { /// 无权限 [Description("无权限")] @@ -29,5 +29,5 @@ public enum PermissionFlags /// 所有权限 [Description("所有")] - All = 0x7FFFFFFF, + All = 0xFFFFFFFF, } diff --git a/XCode/Membership/角色.Biz.cs b/XCode/Membership/角色.Biz.cs index 0702a088a..39a74fb2d 100644 --- a/XCode/Membership/角色.Biz.cs +++ b/XCode/Membership/角色.Biz.cs @@ -346,7 +346,7 @@ public partial class Role : LogEntity, IRole /// 当前角色拥有的资源 [XmlIgnore, ScriptIgnore, IgnoreDataMember] - public Int32[] Resources { get { return Permissions.Keys.ToArray(); } } + public Int32[] Resources => Permissions.Keys.ToArray(); #endregion #region 业务 diff --git a/XUnitTest.XCode/Membership/PermissionFlagsTests.cs b/XUnitTest.XCode/Membership/PermissionFlagsTests.cs new file mode 100644 index 000000000..c11ce0b81 --- /dev/null +++ b/XUnitTest.XCode/Membership/PermissionFlagsTests.cs @@ -0,0 +1,23 @@ +using System; +using XCode.Membership; +using Xunit; + +namespace XUnitTest.XCode.Membership; + +public class PermissionFlagsTests +{ + [Fact] + public void Test1() + { + var pm = (PermissionFlags)0xFFFFFFFF; + Assert.Equal(PermissionFlags.All, pm); + Assert.Equal(0xFFFFFFFF, (UInt32)pm); + Assert.Equal(-1, (Int32)pm); + + var v = -1; + pm = (PermissionFlags)v; + Assert.Equal(PermissionFlags.All, pm); + Assert.Equal(0xFFFFFFFF, (UInt32)pm); + Assert.Equal(-1, (Int32)pm); + } +}