コード例 #1
0
 public Decapodian(ISubscriberPersonalization subscriberPersonalization, ISubscribableContent content)
 {
     _subscriberPersonalization = subscriberPersonalization;
     SubscribedContents         = new List <ISubscribableContent> {
         content
     };
 }
コード例 #2
0
        public T Create <T>(ISubscriberPersonalization subscriberPersonalization, ISubscribableContent content = null) where T : class, ISubscriber
        {
            var concreteType = typeof(T);
            var instance     = (T)Activator.CreateInstance(concreteType, subscriberPersonalization, content);

            content?.AddSubscriber(instance);
            return(instance);
        }
コード例 #3
0
        public Robot(ISubscriberPersonalization subscriberPersonalization, ISubscribableContent content)
        {
            _subscriberPersonalization = subscriberPersonalization;
            SubscribedContents         = new List <ISubscribableContent>();

            if (content != null)
            {
                SubscribedContents.Add(content);
            }
        }
コード例 #4
0
 public void ReceiveContent(ISubscribableContent content)
 {
     _subscriberPersonalization.OnContentReceived(content);
 }
コード例 #5
0
 public void Unsubscribe(ISubscribableContent content)
 {
     _subscriberPersonalization.OnUnsubscribe();
     SubscribedContents.Remove(content);
 }
コード例 #6
0
 public void Subscribe(ISubscribableContent content)
 {
     _subscriberPersonalization.OnSubscribe();
     SubscribedContents.Add(content);
 }
コード例 #7
0
 public void OnContentReceived(ISubscribableContent content)
 {
     Console.WriteLine($"Content Received by {Name()}: {content.GetContent()}");
 }
コード例 #8
0
 public void Unsubscribe(ISubscribableContent content)
 {
     _subscriberPersonalization.OnUnsubscribe();
     content.RemoveSubscriber(this);
 }