コード例 #1
0
ファイル: BaseBeek.cs プロジェクト: boriscallens/Beek
 public void UnrelateTo(BaseBeek relatedBeek, BeekRelationTypes relationType)
 {
     lock (relations)
     {
         relations = relations.Where(r => !(r.Key.Equals(relatedBeek) && r.Value.Equals(relationType))).ToList();
     }
 }
コード例 #2
0
ファイル: BaseBeek.cs プロジェクト: boriscallens/Beek
 public bool IsBeekRelatedToMeAs(BaseBeek relatedBeek, BeekRelationTypes relationType)
 {
     return relations.Any(r => r.Key.Equals(relatedBeek) && r.Value.Equals(relationType));
 }
コード例 #3
0
ファイル: BaseBeek.cs プロジェクト: boriscallens/Beek
 public void RelateTo(BaseBeek relatedBeek, BeekRelationTypes otherIsWhatOfMe)
 {
     if (relatedBeek.Equals(this))
     {
         throw new ArgumentException("Cannot relate a beek to itself", "relatedBeek");
     }
     lock (relations)
     {
         if (!IsBeekRelatedToMeAs(relatedBeek, otherIsWhatOfMe))
         {
             relations.Add(new KeyValuePair<BaseBeek, BeekRelationTypes>(relatedBeek, otherIsWhatOfMe));
         }
     }
 }
コード例 #4
0
ファイル: BaseBeek.cs プロジェクト: boriscallens/Beek
 public IEnumerable<BaseBeek> GetRelatedBeekForRelationType(BeekRelationTypes relationType)
 {
     return relations.Where(r => r.Value.GetType().Equals(relationType.GetType()))
         .Select(r=>r.Key);
 }