contactgroupbase.cs

来自「破解的飞信源代码」· CS 代码 · 共 57 行

CS
57
字号
namespace Imps.Client.Core
{
    using System;
    using System.Runtime.CompilerServices;

    public abstract class ContactGroupBase : UserItemBase
    {
        private ContactCollection _contacts;

        public event EventHandler InfoChanged;

        protected ContactGroupBase(User owner) : base(owner)
        {
            this._contacts = new ContactCollection(this);
        }

        internal virtual void ContactPresence_PropertiesChanged(object sender, PropertiesChangedEventArgs e)
        {
            if (e.ContainsProperty("value"))
            {
                this.InnerContactCountChanged();
            }
        }

        internal void InnerContactCountChanged()
        {
            if (base.Owner.ContactList.Groups[new int?(this.Id)] != null)
            {
                base.Owner.ContactList.InnerOnContactGroupChanged(new ContactGroupChangedEventArgs(this, ContactGroupEventType.ContactCountChanged));
            }
        }

        internal void InnerOnInfoChanged()
        {
            if (base.Owner.ContactList.Groups[new int?(this.Id)] != null)
            {
                base.Owner.ContactList.InnerOnContactGroupChanged(new ContactGroupChangedEventArgs(this, ContactGroupEventType.NameChanged));
            }
        }

        public ContactCollection Contacts
        {
            get
            {
                return this._contacts;
            }
        }

        public abstract string DisplayName { get; }

        public abstract int Id { get; }

        public abstract string Name { get; internal set; }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?