मैं एक ऐसी सुविधा बनाने की कोशिश कर रहा हूं जो वर्ग विशेषता के आधार पर पंजीकृत वर्ग में कुछ इंटरसेप्टर जोड़ेगी। यह मेरी सुविधा है:
public class MyFacility : AbstractFacility
{
protected override void Init()
{
this.Kernel.ComponentRegistered += (s, h) =>
{
if (h.ComponentModel.Implementation.GetCustomAttributes(typeof(MyAttribute), false).Length > 0)
{
h.ComponentModel.Interceptors.Add(InterceptorReference.ForType<MyInterceptor>());
}
}
}
}
लेकिन इस तरह, जब मैं एक वर्ग विधि में this
कीवर्ड का उपयोग करता हूं तो यह लक्ष्य वर्ग को संदर्भित करता है न कि प्रॉक्सी वर्ग और इससे कुछ ढांचे का उपयोग होता है जो मैं ठीक से काम नहीं करता हूं।
मुझे एक सुविधा के साथ वही प्रॉक्सी बनाने की ज़रूरत है जो ProxyGenerator.CreateClassProxy<MyClass>()
विधि से उत्पन्न होती है।
इसे कैसे प्राप्त किया जा सकता है?
1 उत्तर
कक्षा को अपने घटक पर एक सेवा के रूप में बेनकाब करें।
container.Register(
Component.For<SomeClass,ISomeInterface>().Lifestyle.Whatever.Interceptors<SomeInterceptor>()
);
संबंधित सवाल
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।