本文整理汇总了C#中System.Reflection.ParameterInfo.GetAttributes方法的典型用法代码示例。如果您正苦于以下问题:C# ParameterInfo.GetAttributes方法的具体用法?C# ParameterInfo.GetAttributes怎么用?C# ParameterInfo.GetAttributes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Reflection.ParameterInfo
的用法示例。
在下文中一共展示了ParameterInfo.GetAttributes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ConstraintsFor
public ValueConstraintsModel ConstraintsFor(ParameterInfo parameterInfo, string name, bool optional)
{
IEnumerable<ConstraintAttribute> constraintAnnotations = parameterInfo.GetAttributes<ConstraintAttribute>();
var constraintModels = new List<AbstractConstraintModel>();
foreach (ConstraintAttribute constraintAttribute in constraintAnnotations)
{
constraintModels.Add(new ConstraintModel(constraintAttribute));
}
return new ValueConstraintsModel(constraintModels, name, optional);
// // Check composite declarations first
// Class<? extends Annotation> annotationType = constraintAnnotation.annotationType();
// for( ConstraintDeclaration constraint : constraints )
// {
// if( constraint.appliesTo( annotationType, valueType ) )
// {
// constraintModels.add( new ConstraintModel( constraintAnnotation, constraint.constraintClass() ) );
// continue nextConstraint;
// }
// }
// // Check the annotation itself
// Constraints constraints = annotationType.getAnnotation( Constraints.class );
// if( constraints != null )
// {
// for( Class<? extends Constraint<?, ?>> constraintClass : constraints.value() )
// {
// ConstraintDeclaration declaration = new ConstraintDeclaration( constraintClass, constraintAnnotation.annotationType() );
// if( declaration.appliesTo( annotationType, valueType ) )
// {
// constraintModels.add( new ConstraintModel( constraintAnnotation, declaration.constraintClass() ) );
// continue nextConstraint;
// }
// }
// }
// // No implementation found!
// // Check if if it's a composite constraints
// if( isCompositeConstraintAnnotation( constraintAnnotation ) )
// {
// ValueConstraintsModel valueConstraintsModel = constraintsFor( constraintAnnotation.annotationType().getAnnotations(), valueType, name, optional );
// CompositeConstraintModel compositeConstraintModel = new CompositeConstraintModel( constraintAnnotation, valueConstraintsModel );
// constraintModels.add( compositeConstraintModel );
// continue nextConstraint;
// }
// throw new ConstraintImplementationNotFoundException( declaringType, constraintAnnotation.annotationType(), valueType );
//}
}