** Я использую PostSharp Express ... не уверен, что это повлияло бы на этот экземпляр.PostSharp AOP - Невозможно применить аспект к mscorlib Элементы System.IO.StreamReader
У меня есть OnMethodBoundary
->OnEntry
аспект, который успешно Multicasts на уровне сборки для членов класса в моем собственном коде, но при попытке применить его к mscorlib
System.IO.StreamReader
членов, не кости. Основываясь на результатах поиска, которые я сделал на веб-сайте PostSharp, здесь, в SO, и в Google, я не могу сказать, какой правильный путь для этого - текущая версия PostSharp. Кто-нибудь знает? Надеюсь, я просто отсутствует что-нибудь простое: \
Вот аспект следует атрибут многоадресного Я использую:
namespace Test.Aspects {
[AttributeUsage(AttributeTargets.Assembly)]
[MulticastAttributeUsage(MulticastTargets.Method, AllowMultiple = false)]
[Serializable]
public class PatchStreamReaderAttribute : OnMethodBoundaryAspect {
public override void OnEntry(MethodExecutionArgs args) {
System.Threading.Thread.Sleep(1000);
}
}
}
[assembly: PatchStreamReader(AttributeTargetMembers = "ReadLine", AttributeTargetAssemblies = "mscorlib", AttributeTargetTypes = "System.IO.StreamReader")]
Имеет смысл, но даже если я изменю целевой элемент на метод, он все равно не работает. Я использую PostSharp Express, но я не видел ничего такого, что была отключена в этой версии. –
Я обновил свой вопрос, чтобы лучше описать общий вопрос, который у меня есть. –
Я обновил ответ. Вам необходимо установить 'AttributeTargetTypes' в класс" System.IO.TextReader ", который первоначально объявляет метод' ReadLine() '. – AlexD