本文整理汇总了C#中IMethodSymbol.Any方法的典型用法代码示例。如果您正苦于以下问题:C# IMethodSymbol.Any方法的具体用法?C# IMethodSymbol.Any怎么用?C# IMethodSymbol.Any使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IMethodSymbol
的用法示例。
在下文中一共展示了IMethodSymbol.Any方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Build
/// <summary>
/// Builds models representing methods of the factories.
/// </summary>
/// <param name="concreteClassSymbol">
/// Represents the concrete class.
/// </param>
/// <param name="fields">
/// Fields available in the factory.
/// </param>
/// <param name="injectedParameters">
/// The injected parameters in the factory.
/// </param>
/// <param name="factoryMethods">
/// The factory methods retrieved with Roslyn.
/// </param>
/// <param name="factoryInterfaceName">
/// The interface name of the factory.
/// </param>
/// <returns>
/// Models representing the factory methods.
/// </returns>
public IEnumerable<Method> Build(INamedTypeSymbol concreteClassSymbol,
IEnumerable<Field> fields,
IParameterSymbol[] injectedParameters,
IMethodSymbol[] factoryMethods,
string factoryInterfaceName)
{
if (!factoryMethods.Any())
{
return Enumerable.Empty<Method>();
}
fields = fields as Field[] ?? fields.ToArray();
var methods = new List<Method>();
// ReSharper disable once LoopCanBeConvertedToQuery
foreach (var factoryMethod in factoryMethods)
{
var constructor = GetConstructorFromFactoryMethod(factoryMethod, concreteClassSymbol);
var factoryMethodParameters = factoryMethod.Parameters;
var arguments = this.argumentsBuilderService.BuildMethodArgument(factoryMethodParameters)
.ToArray();
var constructorArguments = this.BuildConstructorParameters(constructor, arguments, fields, injectedParameters, factoryInterfaceName);
var genericArguments = this.genericTypeBuilderService.Build(factoryMethod.TypeParameters);
if (this.writeXmlDoc)
{
var xmlComments = BuildXmlDoc(factoryMethod);
methods.Add(new Method("Create", factoryMethod.ReturnType.ToString(), concreteClassSymbol.ToString(), arguments, constructorArguments, genericArguments, xmlComments));
}
else
{
methods.Add(new Method("Create", factoryMethod.ReturnType.ToString(), concreteClassSymbol.ToString(), arguments, constructorArguments, genericArguments, string.Empty));
}
}
return methods;
}