मैं कई ठोस प्रकार है कि IHandler<TCommand>
लागू, जैसे कि निम्न के साथ एक विधानसभा मिला के बैच पंजीकरण:Autofac: खुले सामान्य प्रकार
public class MoveCustomerHandler : IHandler<MoveCustomerCommand>
{
void IHandler<MoveCustomerCommand>.Handle(MoveCustomerCommand c)
{
// some business logic for moving a customer.
}
}
वर्तमान में, मैं उन्हें एक-एक करके दर्ज की कर रहा हूँ इस प्रकार है:
builder.RegisterType<MoveCustomerHandler>()
.As<IHandler<MoveCustomerCommand>>();
builder.RegisterType<ProcessOrderHandler>()
.As<IHandler<ProcessOrderCommand>>();
builder.RegisterType<SomeOtherFancyHandler>()
.As<IHandler<SomeOtherFancyCommand>>();
// Many handler registrations here...
आदेश संचालकों, निर्माता इंजेक्शन का उपयोग कर इंजेक्ट किया जाता के रूप में नीचे देखा जा सकता है:
public class OrderController
{
private readonly IHandler<ProcessOrderCommand> handler;
public OrderController(IHandler<ProcessOrderCommand> handler)
{
this.handler = handler;
}
}
क्या ऑटोफैक का उपयोग करके मेरे सभी हैंडलर को आसान तरीके से बैच करने का कोई तरीका है?
धन्यवाद। मुझे यकीन नहीं है कि आप यहां पूरा करने का प्रयास करते हैं। 'Type.GetCustomAttributes() 'विधि' ऑब्जेक्ट []' देता है, तो यह मेरी मदद करने के लिए कैसे जा रहा है? – Steven
मेरा बुरा। मैंने ब्राउजर टेक्स्ट बॉक्स में कॉपी/पेस्ट और एडिट करने की कोशिश की। मैंने उस हिस्से को संपादित किया। –