Je prévois de mettre un appel à MethodBase.GetCurrentMethod() au début de la plupart des méthodes (pour l'enregistrement d'information), mais étant donné que cela présenterait un surcoût élevé, il serait bon si un attribut conditionnel pourrait être utilisé utilisé comme:Est-il possible d'orner une ligne de code avec un attribut conditionnel? (Ou quelque chose de similaire)
#define LogMethodNames
où ...
[Conditional("LogMethodNames")]
a été mis au-dessus de chaque appel de ligne GetCurrentMethod(), comme:
void DoStuff()
{
[Conditional("LogMethodNames")]
logger.CurrentMethod = MethodBase.GetCurrentMethod();
// stuff done here
}
... donc au moins, il pourrait être exclu des versions de versions.
Est-ce quelque chose le long de ces lignes possibles?
Merci!
Gregg
PS Je voudrais essayer moi-même maintenant, mais pour une raison que je ne pouvais pas obtenir les attributs de travailler en raison d'une erreur de compilation. Doh.
PPS Si cela ne peut pas fonctionner, je créerais une méthode qui attribue à l'objet de l'enregistreur, comme:
void SetCurrentMethod(MethodBase currentMethod)
{
logger.CurrentMethod = currentMethod;
}
et utilisation:
void DoStuff()
{
[Conditional("LogMethodNames")]
SetCurrentMethod(MethodBase.GetCurrentMethod());
// stuff done here
}
Toutes les pensées ?! Merci :-)
Thx. J'ai besoin d'élargir ma réflexion, lol. Bonne chance avec 50K, .1 pour aller ... – MrGreggles