本文整理汇总了C#中AnalysisValue.GetPrototype方法的典型用法代码示例。如果您正苦于以下问题:C# AnalysisValue.GetPrototype方法的具体用法?C# AnalysisValue.GetPrototype怎么用?C# AnalysisValue.GetPrototype使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AnalysisValue
的用法示例。
在下文中一共展示了AnalysisValue.GetPrototype方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetRecurse
private IAnalysisSet GetRecurse(AnalysisValue protoStart, Node node, AnalysisUnit unit, string name, bool addRef) {
var prototypes = protoStart.GetPrototype(unit.ProjectEntry);
IAnalysisSet protovalue = AnalysisSet.Empty;
if (prototypes != null) {
try {
foreach (var proto in prototypes) {
if (PushProtoLookup(proto.Value)) {
var property = proto.Value.GetProperty(node, unit, name);
if (property != null) {
var value = property.GetValue(
node,
unit,
proto.Value.DeclaringModule,
this.SelfSet,
addRef
);
protovalue = protovalue.Union(value);
if (property.IsEphemeral) {
protovalue = protovalue.Union(GetRecurse(proto.Value, node, unit, name, addRef));
}
} else {
// keep searching the prototype chain...
protovalue = protovalue.Union(GetRecurse(proto.Value, node, unit, name, addRef));
}
}
}
} finally {
foreach (var proto in prototypes) {
PopProtoLookup(proto.Value);
}
}
}
return protovalue;
}