Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
Type.FilterAttribute, champ
Représente le filtre de membres utilisé avec les attributs. Ce champ est en lecture seule.
Assembly : mscorlib (dans mscorlib.dll)
Ce champ contient une référence au délégué utilisé par la méthode FindMembers. La méthode encapsulée par ce délégué utilise deux paramètres : le premier est un objet MemberInfo et le second, un objet Object. Cette méthode détermine si l'objet MemberInfo est conforme aux critères spécifiés par Object. Object peut se voir assigner la valeur de l'un des champs sur les classes FieldAttributes, MethodAttributes ou MethodImplAttributes.
Par exemple, Object peut se voir assigner la valeur d'un champ provenant de FieldAttributes tel que Public. Dans ce cas, lorsque le délégué FilterAttribute est appelé, il retourne true uniquement si la méthode représentée par l'objet MemberInfo porte l'attribut de champ public dans les métadonnées.
L'exemple suivant obtient le délégué FilterAttribute, le passe en tant que paramètre à la méthode FindMembers, puis affiche les membres spécifiés et leurs attributs.
using System; using System.Reflection; using System.Security; public class MyFilterAttributeSample { public static void Main() { try { MemberFilter myFilter = Type.FilterAttribute; Type myType = typeof(System.String); MemberInfo[] myMemberInfoArray = myType.FindMembers(MemberTypes.Constructor |MemberTypes.Method, BindingFlags.Public | BindingFlags.Static | BindingFlags.Instance, myFilter, MethodAttributes.SpecialName); foreach (MemberInfo myMemberinfo in myMemberInfoArray) { Console.Write ("\n" + myMemberinfo.Name); Console.Write (" is a " + myMemberinfo.MemberType.ToString()); } } catch(ArgumentNullException e) { Console.Write("ArgumentNullException : " + e.Message); } catch(SecurityException e) { Console.Write("SecurityException : " + e.Message); } catch(Exception e) { Console.Write("Exception :" + e.Message); } } }
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.