コード例 #1
0
        public UserUpdateEvent(
            IUser user,
            string userName       = null,
            Colour?colour         = null,
            int?rank              = null,
            string nickName       = null,
            UserPermissions?perms = null,
            UserStatus?status     = null,
            string statusMessage  = null
            ) : base(user ?? throw new ArgumentNullException(nameof(user)))
        {
            OldUserName = user.UserName;
            if (!OldUserName.Equals(userName))
            {
                NewUserName = userName;
            }

            OldColour = user.Colour;
            if (!OldColour.Equals(colour))
            {
                NewColour = colour;
            }

            OldRank = user.Rank;
            if (OldRank != rank)
            {
                NewRank = rank;
            }

            OldNickName = user.NickName;
            if (!OldNickName.Equals(nickName))
            {
                NewNickName = nickName;
            }

            OldPerms = user.Permissions;
            if (OldPerms != perms)
            {
                NewPerms = perms;
            }

            OldStatus = user.Status;
            if (OldStatus != status)
            {
                NewStatus = status;
            }

            OldStatusMessage = user.StatusMessage;
            if (!OldStatusMessage.Equals(statusMessage))
            {
                NewStatusMessage = statusMessage;
            }
        }
コード例 #2
0
ファイル: Chat.g.cs プロジェクト: mastoj/protoactor-fsharp
        public override int GetHashCode()
        {
            int hash = 1;

            if (OldUserName.Length != 0)
            {
                hash ^= OldUserName.GetHashCode();
            }
            if (NewUserName.Length != 0)
            {
                hash ^= NewUserName.GetHashCode();
            }
            return(hash);
        }