Как передать null в качестве экземпляра интерфейса по умолчанию, используя StructureMap? - PullRequest
3 голосов
/ 04 июня 2010

Я хотел бы передать значение null в качестве экземпляра по умолчанию для моего класса IFarmManager, используя StructureMap. В настоящее время у меня есть следующее в моем Global.asax:

ObjectFactory.Initialize(x =>
{
    x.ForRequestedType<IFarmManager>().TheDefault.Is.Object(null);
};

Однако ArgumentNullException генерируется во время выполнения:

Value cannot be null.
Parameter name: anObject
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentNullException: Value cannot be null.
Parameter name: anObject

Можно ли использовать ноль в качестве экземпляра по умолчанию для интерфейса?

Мне известен этот вопрос: StructureMap и передача нулевого параметра в экземпляр , но у него нет ответов.

1 Ответ

1 голос
/ 04 июня 2010

Кажется, способ сделать это заключается в следующем:

ObjectFactory.Initialize(x =>
{
    x.ForRequestedType<IFarmManager>().TheDefault.Is.ConstructedBy(() => null);
});
...