Accès à la valeur d'un attribut personnalisé
Ive a obtenu cet Attribut Personnalisé:
[AttributeUsage(AttributeTargets.Method, AllowMultiple=false, Inherited = true)]
class MethodTestingAttibute : Attribute
{
public string Value{ get; private set; }
public MethodTestingAttibute (string value)
{
this.Value= value;
}
}
À être utilisée comme ceci:
[MethodTestingAttibute("2")]
public int m1() {return 3; }
Et ma difficulté est de prendre la Valeur de "2" de la MethodTestingAttibute
object result = method.Invoke(obj, new Type[] {}); //here i get the return
Maintenant, j'ai envie de comparer ce résultat à la Valeur de la Méthode TestingAttibute. Comment je peux faire? Im essayant d'aller jusqu'à cette route, mais sans succès: la méthode.GetCustomAttributes(typeof(MethodTestAttibute), true)[0]...
Quel est le correctement pour obtenir l'accès au domaine de la Custoum Attribut?
source d'informationauteur RCPT | 2011-06-30
Vous devez vous connecter pour publier un commentaire.
Veuillez consulter le lien suivant, il est l'attribut d'un enum, mais vous pouvez personnaliser votre attribut personnalisé.
Obtenir de l'attribut de l'Enum
Convertir l'objet de
MethodTestingAttibute
:Vérifier le code ici http://msdn.microsoft.com/en-us/library/bfwhbey7.aspx
Extrait:
Avec mon attribut personnalisé:
J'ai créer une méthode pour obtenir de l'attribut avec ses valeurs:
Avec un exemple de classe (ne doit pas être statique, car T est générique)
Utilisation:
Pour obtenir la valeur d'un attribut de la propriété, de jeter de l'objet renvoyé par GetCustomAttributes():
Necromancing.
Pour ceux qui ont encore à maintenir .NET 2.0, ou ceux qui veulent le faire sans LINQ:
Exemple d'utilisation:
ou dans votre cas simplement