16
septembre
2009
				
				[C#] Savoir si une méthode possède un attribut
				
					
					septembre
2009
Il est possible de trouver grâce à la réflexion des attributs qui décorent les classes ou les méthodes d’une classe.
Par exemple la classe de test suivante :
[TestClass]         
class Test
{
[TestMethod]
public void Test1()
{
//…
}
[TestMethod]
public void Test2()
{
//…
}
}
class Test
{
[TestMethod]
public void Test1()
{
//…
}
[TestMethod]
public void Test2()
{
//…
}
}
possède des méthodes décorées de l’attribut TestMethodAttribute.
On peut récupérer les méthodes grâce à la méthode GetMethods.
Ensuite, on pourra utiliser la méthode GetCustomAttribute pour vérifier si la méthode possède l’attribut passé en paramètre.
Comme ceci :
Type type = typeof(Test);         
foreach (MethodInfo info in type.GetMethods())         
{
Attribute attribute = Attribute.GetCustomAttribute(info, typeof(TestMethodAttribute));
if (attribute != null)
{
Console.WriteLine(info.Name);
}
}
{
Attribute attribute = Attribute.GetCustomAttribute(info, typeof(TestMethodAttribute));
if (attribute != null)
{
Console.WriteLine(info.Name);
}
}
Commentaires récents
- dans [Tests] Arrange Act Assert, une traduction ?
 - dans [UnitTest][C#] Tester une méthode privée
 - dans Récupérer une valeur d’un contrôle depuis une autre Form / inclusions croisées et déclaration anticipée
 - dans Tutoriel : Utiliser la ListBox et l’Isolated Storage dans vos applications Windows Phone 7 avec Silverlight
 - dans Tutoriel : Utiliser la ListBox et l’Isolated Storage dans vos applications Windows Phone 7 avec Silverlight
 
Archives
- janvier 2013
 - avril 2012
 - janvier 2012
 - juin 2011
 - janvier 2011
 - décembre 2010
 - novembre 2010
 - septembre 2010
 - juin 2010
 - mars 2010
 - février 2010
 - janvier 2010
 - décembre 2009
 - novembre 2009
 - octobre 2009
 - septembre 2009
 - août 2009
 - juillet 2009
 - mai 2009
 - avril 2009
 - mars 2009
 - janvier 2009
 - décembre 2008
 - novembre 2008
 - octobre 2008
 - septembre 2008
 - août 2008
 - juillet 2008
 - juin 2008
 - mai 2008
 - avril 2008
 - mars 2008
 - février 2008
 - janvier 2008
 - décembre 2007
 - novembre 2007
 - octobre 2007
 - septembre 2007
 - août 2007
 - juillet 2007
 - juin 2007
 - mai 2007
 

 Un article de nico-pyright(c)