![](/img/trans.png)
[英]Pass runtime value to constructor using Simple Injector abd WebFormsMVP
[英]how to pass null value in to constructor in simple injector?
我有一个服务层,供Web应用程序和窗口服务这两个应用程序使用。 我正在为这两种应用程序使用简单的注射器。
窗口服务不需要Web应用程序中需要的所有构造函数参数,因此我需要为这些构造函数参数传递null值,但是Simple Injector不允许我传递null值。
我正在为这样的空值注册类型
container.Register<IDataProtectionProvider>(() => null);
但这给我错误
IDataProtectionProvider类型的已注册委托返回null。
任何帮助
Simple Injector不允许将null值传递给构造函数,因为构造函数用于必需的依赖项。
除了传递null之外,您应该传递Null对象 :
在面向对象的计算机编程中,空对象是没有引用值或具有定义的中性(“空”)行为的对象。 空对象设计模式描述了此类对象的用途及其行为(或缺少行为)。 它最初在程序设计的模式语言丛书中出版。
例:
container.RegisterSingleton<IDataProtectionProvider>(new NullDataProtectionProvider());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.