בהמשך לטיפים הקודמים,
נראה כעת השוואה בין כל השיטות שראינו למימוש Interception:
להלן טבלה שגנובה מהאתר של SharpCrafters (היוצרים של PostSharp)
| האלמנט שעושים לו Interception | Static weaving (PostSharp) | Runtime subclassing | ContextBoundObject |
|---|---|---|---|
| מתודות של ממשק | V | V | V |
| מתודות וירטואליות שהן public | V | V | V |
| מתודות לא וירטואליות שהן public | V | V | |
| מתודות וירטואליות שהן protected | V | V | |
| מתודות סטטיות או private או protected | V | ||
| מתודות חיצוניות (מAssembly אחר) | V | ||
| Constructorים | V | ||
| Fieldים | V | ||
| Properties | V | ||
| Events | V |
מה שאנחנו רואים זה ששימוש בIL weaving נותן לנו את הכוח החזק ביותר, אבל זו גם הדרך הקשה ביותר לממש Interception.
סופ”ש מיורט לטובה.