本文整理汇总了C#中System.Reflection.ParameterInfo.Any方法的典型用法代码示例。如果您正苦于以下问题:C# ParameterInfo.Any方法的具体用法?C# ParameterInfo.Any怎么用?C# ParameterInfo.Any使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Reflection.ParameterInfo
的用法示例。
在下文中一共展示了ParameterInfo.Any方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HasOneParameterNeeded
private bool HasOneParameterNeeded(ParameterInfo[] parameters, TypeInfo eventArgsType)
{
return parameters.Any() &&
parameters.ElementAt(0).ParameterType.GetTypeInfo().IsAssignableFrom(eventArgsType);
}
示例2: IsValidCommandHandler
private static bool IsValidCommandHandler(Type commandType, MethodInfo method, ParameterInfo[] parameters, MethodParameterInjector injector)
{
if (method.DeclaringType != null && method.DeclaringType.GetProperties().Any(p => IsPropertyAccessor(method, p)))
return false;
return parameters.Any(p => p.ParameterType == commandType)
&& parameters.All(p => p.ParameterType == commandType || injector.CanSupply(p.ParameterType));
}
示例3: IsUnwrapArgsNeeded
/// <summary>
/// Check if unwrap args is needed. If false, UnwrapArgs/WrapResult become NOP.
/// The default implementation returns true if there is any [out] params.
/// </summary>
/// <param name="parameterInfos">All the parameterinfo.</param>
/// <returns>true if UnwrapArgs/WrapResult should be performed.</returns>
protected virtual bool IsUnwrapArgsNeeded(ParameterInfo[] parameterInfos)
{
return parameterInfos.Any(p => p.IsOut);
}
示例4: BuildParameterPath
private static string BuildParameterPath(ParameterInfo[] parameters)
{
if(!parameters.Any()) return String.Empty;
var parameterPath = Path.Combine(parameters.Select(p => $"{{{p.Name}}}").ToArray());
return $"/{parameterPath}";
}
示例5: SetEmptyCollectionOnMethodSelect
public static void SetEmptyCollectionOnMethodSelect(ParameterInfo[] parameters, ObservableCollection<ControlView> controlViewBindingObject, string guid)
{
if (parameters.Any())
{
foreach (ParameterInfo mParameter in parameters)
{
int parameterOrder = mParameter.Position;
//mParameter.ParameterType
GetParameter(controlViewBindingObject, mParameter, parameterOrder, guid);
}
}
}
示例6: SetCollectionOnValue
public static void SetCollectionOnValue(Value selectedValueObj, ParameterInfo[] parameters, ObservableCollection<ControlView> controlViewBindingObject, string guid)
{
if (parameters.Any())
{
foreach (ParameterInfo mParameter in parameters)
{
int parameterOrder = mParameter.Position;
var paramValue = (from p in selectedValueObj.Param
where p.Order == parameterOrder
select p).First();
GetParameter(controlViewBindingObject, mParameter, parameterOrder, guid, paramValue);
}
}
}
示例7: EmitMethodWithParameterCombo
private void EmitMethodWithParameterCombo(int thissIdx, MethodInfo realMethod, Type[] parameters, MethodBuilder methodBuilder, ParameterInfo[] realParams)
{
var gen = methodBuilder.GetILGenerator();
if (!realMethod.IsStatic)
{
// Set 'this' to the result of JishProxy.GetInstance. This allows one
// class to proxy to methods from different source classes.
SetReferenceToAppropriateThis(gen, thissIdx);
}
for (int i = 0; i < parameters.Length; i++)
{
if (IsParamsArray(realParams[i]))
{
break; // Break as this is the last parameter (params must always be last)
}
// if (IsParamDelegate(realParams[i])) // TODO: This is in the wrong place
// {
// If the param is a delegate it needs to be replaced with a string which
// will be used to find the 'real' delegate in the jish_internal scope.
// }
// Else add standard inline arg
gen.Emit(OpCodes.Ldarg, i + 1);
}
for (int i = parameters.Count(); i < realParams.Length; i++)
{
if (IsParamsArray(realParams[i])) break;
gen.Emit(OpCodes.Ldarg_0);
gen.Emit(OpCodes.Ldc_I4, thissIdx); // Load the this index into the stack for GetInstance param
gen.Emit(OpCodes.Ldc_I4, i);
MethodInfo getLastOptional = typeof (JishProxy).GetMethod("GetOptionalParameterDefaultValue");
getLastOptional = getLastOptional.MakeGenericMethod(new[] {realParams[i].ParameterType});
gen.Emit(OpCodes.Callvirt, getLastOptional);
}
ParameterInfo last = realParams.Any() ? realParams.Last() : null;
if (last != null && IsParamsArray(last))
{
CovertRemainingParametersToArray(parameters, gen, realParams.Count() - 1, last.ParameterType.GetElementType());
}
// Call the real method
gen.Emit(realMethod.IsStatic ? OpCodes.Call : OpCodes.Callvirt, realMethod);
gen.Emit(OpCodes.Ret);
}