16
septembre
2009
[C#] Savoir si une méthode possède un attribut
septembre
2009
Un article de nico-pyright(c)
Pas de commentaires
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
- [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 dans
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