public bool IsRegisteredMember(TribeMemberIdentifier identifier) { if (identifier == null) { throw new ArgumentNullException(nameof(identifier)); } lock (this.members) { return(this.members.ContainsKey(identifier)); } }
public void Unregister(TribeMemberIdentifier identifier) { if (identifier == null) { throw new ArgumentNullException(nameof(identifier)); } lock (this.membersLock) { if (this.IsRegisteredMember(identifier)) { this.members.Remove(identifier); } } }
public TMember GetMember(TribeMemberIdentifier identifier) { if (identifier == null) { throw new ArgumentNullException(nameof(identifier)); } lock (this.membersLock) { if (this.IsRegisteredMember(identifier)) { return(this.members[identifier]); } } return(default(TMember)); }
protected TribeMember(TribeMemberIdentifier identifier, TData data) { this.Identifier = identifier ?? throw new ArgumentNullException(nameof(identifier)); this.Data = data; }
protected TribeMember(TribeMemberIdentifier identifier) : this(identifier, default(TData)) { }
public static TribeMemberIdentifier AsTribeIdentifier(this IBabblerReportBase report) { return(TribeMemberIdentifier.FromIBabblerReportBase(report)); }