本文整理汇总了C#中IPatternScope.Consume方法的典型用法代码示例。如果您正苦于以下问题:C# IPatternScope.Consume方法的具体用法?C# IPatternScope.Consume怎么用?C# IPatternScope.Consume使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IPatternScope
的用法示例。
在下文中一共展示了IPatternScope.Consume方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: InitializeTest
/// <summary>
/// Initializes a test for a method after it has been added to the test model.
/// </summary>
/// <param name="methodScope">The method scope.</param>
/// <param name="method">The method.</param>
protected virtual void InitializeTest(IPatternScope methodScope, IMethodInfo method)
{
string xmlDocumentation = method.GetXmlDocumentation();
if (xmlDocumentation != null)
methodScope.TestBuilder.AddMetadata(MetadataKeys.XmlDocumentation, xmlDocumentation);
methodScope.Process(method);
if (method.IsGenericMethodDefinition)
{
foreach (IGenericParameterInfo parameter in method.GenericArguments)
methodScope.Consume(parameter, false, DefaultGenericParameterPattern);
}
foreach (IParameterInfo parameter in method.Parameters)
methodScope.Consume(parameter, false, DefaultMethodParameterPattern);
}
示例2: PrepareToPopulateChildrenOnDemand
/// <summary>
/// Prepares to populate the children of the assembly test on demand by
/// adding a deferred populator with <see cref="IPatternScope.AddDeferredComponentPopulator" />.
/// </summary>
/// <param name="assemblyScope">The assembly scope.</param>
/// <param name="assembly">The assembly.</param>
protected virtual void PrepareToPopulateChildrenOnDemand(IPatternScope assemblyScope, IAssemblyInfo assembly)
{
var populatedTypes = new HashSet<ITypeInfo>();
assemblyScope.AddDeferredComponentPopulator(childCodeElementHint =>
{
ITypeInfo type = childCodeElementHint as ITypeInfo;
if (type != null && ! type.IsNested && !populatedTypes.Contains(type) && assembly.Equals(type.Assembly))
{
populatedTypes.Add(type);
assemblyScope.Consume(type, false, DefaultTypePattern);
}
});
}
示例3: InitializeDataContext
/// <summary>
/// Initializes the <see cref="PatternTestDataContext" />.
/// </summary>
/// <param name="dataContextScope">The data context scope.</param>
/// <param name="constructor">The constructor.</param>
protected virtual void InitializeDataContext(IPatternScope dataContextScope, IConstructorInfo constructor)
{
ITypeInfo declaringType = constructor.DeclaringType;
if (declaringType.IsGenericTypeDefinition)
dataContextScope.TestDataContextBuilder.ImplicitDataBindingIndexOffset = declaringType.GenericArguments.Count;
foreach (IParameterInfo parameter in constructor.Parameters)
dataContextScope.Consume(parameter, false, DefaultConstructorParameterPattern);
dataContextScope.Process(constructor);
}
示例4: PopulateChildrenImmediately
/// <summary>
/// Populates the children of the assembly test all at once.
/// </summary>
/// <remarks>
/// <para>
/// The default implementation processes all public and non-public types within the assembly.
/// </para>
/// </remarks>
/// <param name="assemblyScope">The assembly scope.</param>
/// <param name="assembly">The assembly.</param>
protected virtual void PopulateChildrenImmediately(IPatternScope assemblyScope, IAssemblyInfo assembly)
{
foreach (ITypeInfo type in assembly.GetTypes())
{
if (!type.IsNested)
assemblyScope.Consume(type, false, DefaultTypePattern);
}
}