本文整理汇总了C#中Cache.Has方法的典型用法代码示例。如果您正苦于以下问题:C# Cache.Has方法的具体用法?C# Cache.Has怎么用?C# Cache.Has使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cache
的用法示例。
在下文中一共展示了Cache.Has方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Gather
public BehaviorDetailsModel Gather(IDebugReport report)
{
// TODO -- come back and clean this up. Just getting it up and running for a demo
BehaviorDetailsModel root = null;
var behaviors = new Cache<Type, BehaviorDetailsModel>(t =>
{
var model = new BehaviorDetailsModel {BehaviorType = t};
if(root == null)
{
root = model;
}
return model;
});
Type lastBehaviorType = null;
report
.Steps
.Each(s =>
{
var behaviorType = s.Behavior.BehaviorType;
var isSameBehavior = behaviorType == lastBehaviorType;
var isBehaviorFinish = s.Details.GetType().CanBeCastTo<BehaviorFinish>();
if (behaviors.Has(behaviorType) && (!isSameBehavior || isBehaviorFinish))
{
behaviors[behaviorType].AddAfter(s.Details);
}
else
{
behaviors[behaviorType].AddBefore(s.Details);
}
var currentBehavior = behaviors[behaviorType];
currentBehavior.Id = s.Behavior.BehaviorId;
if (lastBehaviorType != null && !isSameBehavior && isBehaviorFinish)
{
var lastBehavior = behaviors[lastBehaviorType];
if(!lastBehavior.Equals(root))
{
currentBehavior.Inner = lastBehavior;
}
}
lastBehaviorType = behaviorType;
});
return root;
}
示例2: addRow
private void addRow(TableRowTag row, Uri uri, Cache<Uri, TransportNode> peers)
{
row.Cell(uri.ToString());
if (peers.Has(uri))
{
var peer = peers[uri];
row.Cell(peer.Id);
row.Cell(peer.ControlChannel.ToString());
}
else
{
row.Cell("None");
row.Cell();
}
}
示例3: Gather
public BehaviorDetailsModel Gather(IDebugReport report)
{
// TODO -- come back and clean this up. Just getting it up and running for a demo
BehaviorDetailsModel root = null;
var behaviors = new Cache<Type, BehaviorDetailsModel>(t =>
{
var model = new BehaviorDetailsModel {BehaviorType = t};
if(root == null)
{
root = model;
}
return model;
});
Type lastBehavior = null;
report
.Steps
.Each(s =>
{
var behaviorType = s.Behavior.BehaviorType;
if(behaviors.Has(behaviorType) && behaviorType != lastBehavior)
{
behaviors[behaviorType].AddAfter(s.Details);
}
else
{
behaviors[behaviorType].AddBefore(s.Details);
}
if(lastBehavior != null && behaviorType != lastBehavior)
{
var lastModel = behaviors[lastBehavior];
if(!lastModel.Equals(root))
{
behaviors[behaviorType].Inner = lastModel;
}
}
lastBehavior = behaviorType;
});
return root;
}