Non so se stai chiedendo il framework T4 o no, ma ecco un esempio di riflessione generica per i metodi Obsolete flagged.
class TestClass
{
public TestClass()
{
DeprecatedTester.FindDeprecatedMethods(this.GetType());
}
[Obsolete("SomeDeprecatedMethod is deprecated, use SomeNewMethod instead.")]
public void SomeDeprecatedMethod() { }
[Obsolete("YetAnotherDeprecatedMethod is deprecated, use SomeNewMethod instead.")]
public void YetAnotherDeprecatedMethod() { }
public void SomeNewMethod() { }
}
public class DeprecatedTester
{
public static void FindDeprecatedMethods(Type t)
{
MethodInfo[] methodInfos = t.GetMethods();
foreach (MethodInfo methodInfo in methodInfos)
{
object[] attributes = methodInfo.GetCustomAttributes(false);
foreach (ObsoleteAttribute attribute in attributes.OfType<ObsoleteAttribute>())
{
Console.WriteLine("Found deprecated method: {0} [{1}]", methodInfo.Name, attribute.Message);
}
}
}
}
Stai utilizzando la riflessione con T4? Questo è [non raccomandato] (http://www.olegsych.com/2007/12/how-to-use-t4-to-generate-decorator-classes/). – Ani
Vuoi dire membri contrassegnati come Obsoleti (è quella parte del framework reattivo?) – RQDQ
Modificato un modello T4 per generare osservabili dai delegati dell'interfaccia utente e raccoglieva gli eventi deprecati, avevo solo bisogno di filtrarli alla generazione. –