This chapter covers
Using member introduction
Modifying type hierarchies
Responding to compile-time errors and warnings
Altering the dynamic behavior of the system in a crosscutting manner dominates the use of AOP. But often you'll also need to alter the static structure of the system in a crosscutting manner. Whereas dynamic crosscutting modifies the behavior of the program, static crosscutting modifies the static structure of the types—the classes, interfaces, and other aspects—and their weave-time behavior. There are three broad classifications of static crosscutting:
Inter-type declaration (ITD)—One type (an aspect) makes declarations for another ...