मुझे कैसल विंडसर के साथ पता है, आप कक्षाओं में विशेषताओं को लागू करने के बजाय कोड का उपयोग करके पहलुओं (विंडसर में एओपी के रूप में विधि इंटरसेप्शन का उपयोग करते समय) पंजीकरण कर सकते हैं। Postsharp में भी वही संभव है? यह एक वरीयता चीजें है, लेकिन एक ही स्थान पर इंटरफेस/ऑब्जेक्ट्स से मेल खाने वाले पहलुओं को पसंद करते हैं, क्योंकि सभी के गुणों के विपरीत।क्या आप विशेषताओं का उपयोग किये बिना पोस्टशर्प में पहलुओं को लागू कर सकते हैं?
अद्यतन: जिज्ञासु अगर मैं इंटरफेस के पहलुओं असाइन कर सकते हैं/वस्तुओं इस के समान:
container.Register(
Component
.For<IService>()
.ImplementedBy<Service>()
.Interceptors(InterceptorReference.ForType<LoggingAspect>()).Anywhere
);
आप ऐसा कर सकता है, तो आप नहीं विधानसभाओं पर विशेषताओं जगह करने का विकल्प होता है/पहलुओं को लागू करने के लिए कक्षा/विधियां। इसके बाद मैं एक कोड फ़ाइल/कक्षा रख सकता हूं जिसमें कौन से पहलू लागू होते हैं, किस वर्ग/विधियों/आदि पर।
ये लेख अभी भी कक्षा में एक विशेषता लागू करने लगते हैं। मैं कैसे कैसल करता है गतिशील इंजेक्शन की लाइनों के साथ देख रहा था: http://blog.andreloker.de/post/2009/02/20/Simple-AOP-integrating-interceptors-into-Windsor.aspx। अगर आप PostSharp के साथ ऐसा कर सकते हैं तो मैं उत्सुक हूं। चूंकि पोस्टशर्प संकलित समय के रूप में अपने पहलुओं को बुझाता है, अगर यह नहीं समझ सकता है। –
आप क्या हासिल करने के लिए देख रहे हैं? आपका प्रश्न बताता है "यह एक वरीयता चीजें है, लेकिन एक ही स्थान पर इंटरफेस/ऑब्जेक्ट्स से मेल खाने वाले पहलुओं को पसंद करते हैं, क्योंकि सभी के गुणों के विपरीत।" यही कारण है कि मैंने जवाब दिए जो मैंने किया था। अब ऐसा लगता है जैसे आप रनटाइम पर पहलुओं को सक्षम या अक्षम करना चाहते हैं। गुणों का उपयोग करके पहलुओं को लागू करने पर क्या मायने रखता है? क्या आपको रनटाइम बनाम संकलन समय के साथ चिंता है? –
अद्यतन प्रश्न। मुझे बताएं कि क्या चीजों को साफ़ करता है। –