Tinyioc: рдУрдкрди рдЬреЗрдиреЗрд░рд┐рдХ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 26 рдЕрдЧре░ 2011  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: grumpydev/TinyIoC

рдкрдВрдЬреАрдХрд░рдг рдХрд╛ рдкреНрд░рдпрд╛рд╕:

рд░рдЬрд┐рд╕реНрдЯрд░ (рдЯрд╛рдЗрдкреЛрдл (рдЖрдИрдерд┐рдВрдЧ <>), рдЯрд╛рдЗрдкреЛрдл (рдбрд┐рдлреЙрд▓реНрдЯ рдерд┐рдВрдЧ <>))ред рдПрд╕рд╕рд┐рдВрдЧрд▓рдЯрди ();

рдЗрд╕рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓:
TinyIocRegistrationException : DefaultThing рдЯрд╛рдЗрдк рдХрд░реЗрдВ 1 is not valid for a registration of type IThing 1
----> System.ArgumentException: рдЕрдорд╛рдиреНрдп рд╕рд╛рдорд╛рдиреНрдп рддрд░реНрдХ
рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдирд╛рдо: рдкреНрд░рдХрд╛рд░ рддрд░реНрдХ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореБрдЭреЗ MediatR рдХреЗ рд╕рд╛рде TinyIoC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХ рд░рд╣рд╛ рд╣реИред MediatR рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдРрд╕рд╛ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ:

container.Register(typeof (IRequestHandler<,>));

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ, abstract classes or interfaces are not valid implementation types for SingletonFactory ред рдХрд┐рд╕реА рднреА рдореМрдХреЗ рдкрд░ рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@cmckeegan :

рдпрд╣рд╛рдВ рд╢реБрд░реВ рд╣реБрдЖ рдХрд╛рдо:

https://github.com/grumpydev/TinyIoC/tree/OpenGenerics

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреБрдЫ рдЪреАрдЬреЗрдВ рдЯреВрдЯреА рд╣реБрдИ рд╣реИрдВ (рд▓реЗрдХрд┐рди рдареАрдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп), рд▓реЗрдХрд┐рди рдЕрдм рдПрдХ рдкрд╛рд╕рд┐рдВрдЧ рдЯреЗрд╕реНрдЯ рд╣реИ рдЬреЛ IThing<> рдХреЛ RealThing<> рдХреЗ рд╕рд╛рде рдкрдВрдЬреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ IThing рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИрд░рд┐рдпрд▓рдерд┐рдВрдЧ рдХреЗ рд▓рд┐рдП.

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕реЗ рдЕрднреА рддрдХ рдорд╛рд╕реНрдЯрд░ рдмреНрд░рдВрдЪ рдореЗрдВ рдорд┐рд▓рд╛ рджрд┐рдпрд╛ рд╣реИ?

@JoergEg рд╣рд╛рдБ, рдпрд╣ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХрд▓ рдореИрдиреБрдЕрд▓ рдкрдВрдЬреАрдХрд░рдг рддрдХ рд╕реАрдорд┐рдд рд╣реИ, рдХрдИ рдкрдВрдЬреАрдХрд░рдгреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдХреИрди/рдкрдВрдЬреАрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрднреА рднреА рдЦреБрд▓рд╛ рд╣реИ?

рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореБрдЭреЗ MediatR рдХреЗ рд╕рд╛рде TinyIoC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХ рд░рд╣рд╛ рд╣реИред MediatR рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдРрд╕рд╛ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ:

container.Register(typeof (IRequestHandler<,>));

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ, abstract classes or interfaces are not valid implementation types for SingletonFactory ред рдХрд┐рд╕реА рднреА рдореМрдХреЗ рдкрд░ рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

kevinkuszyk picture kevinkuszyk  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

karoberts picture karoberts  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

WebFreak001 picture WebFreak001  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

academician picture academician  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

QuantumDeveloper picture QuantumDeveloper  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ