本文整理汇总了C#中Mono.Cecil.ParameterDefinition.Select方法的典型用法代码示例。如果您正苦于以下问题:C# ParameterDefinition.Select方法的具体用法?C# ParameterDefinition.Select怎么用?C# ParameterDefinition.Select使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mono.Cecil.ParameterDefinition
的用法示例。
在下文中一共展示了ParameterDefinition.Select方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetGenericTypeConstructorMethod
private MethodReference GetGenericTypeConstructorMethod(TypeReference typeReference,
ParameterDefinition[] parameters)
{
var typeDefinition = typeReference.Resolve();
// Get the type reference for the empty constructor.
MethodReference typelessReference = null;
foreach (var methodReference in typeDefinition.GetConstructors()
.Where(x => x.Parameters.Count == parameters.Count()))
{
if (!MatchesConstructor(
parameters.Select(p => p.ParameterType).ToArray(),
methodReference.Parameters.Select(p => p.ParameterType).ToArray()))
continue;
typelessReference = this.ModuleDefinition.Import(methodReference);
break;
}
// Create a generic instance of it.
var baseInstance = typeReference as GenericInstanceType;
if (null == baseInstance)
throw new Exception(String.Format("Base type {0} is not generic.", typeReference.FullName));
// Add the generic parameterTypes to the empty constructor.
var baseMethodRef = typelessReference.MakeGeneric(baseInstance.GenericArguments.ToArray());
return baseMethodRef;
}