** PostSharp Express를 사용하고 있습니다 ...이 인스턴스에서 차이를 만들지 확신하지 못합니다. 성공적으로 내 자신의 코드에서 클래스 멤버 어셈블리 수준에서 멀티 캐스트>OnEntry
측면,하지만 난 mscorlib
System.IO.StreamReader
회원, 아니 주사위에 적용 할 때 -포스트 샤프 AOP - mscorlib에 애스펙트를 적용 할 수 없습니다 System.IO.StreamReader 멤버
나는 OnMethodBoundary
있어요. PostSharp 웹 사이트, 여기에 그리고 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를 사용하고 있지만이 버전에서는이 기능을 사용할 수 없게되었습니다. –
내가 겪고있는 일반적인 문제를보다 잘 설명 할 수 있도록 내 질문을 업데이트했습니다. –
답변을 업데이트했습니다. 원래'ReadLine()'메소드를 선언 한 클래스 인 "System.IO.TextReader"에'AttributeTargetTypes'을 설정해야합니다. – AlexD