2010-06-04 8 views
3

Je voudrais passer null comme instance par défaut de ma classe IFarmManager en utilisant StructureMap. J'ai actuellement obtenu ce qui suit dans mon Global.asax:Comment puis-je passer null comme instance par défaut d'une interface en utilisant StructureMap?

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

Cependant, ArgumentNullException est jeté à l'exécution:

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 

Est-il possible d'utiliser NULL comme instance par défaut pour une interface?

Je suis au courant de cette question: StructureMap and passing null parameter to instance mais elle n'a aucune réponse.

Répondre

1

Il semble que la façon de le faire est la suivante:

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

Cette syntaxe n'est plus prise en charge. Comment cela se ferait-il avec StructureMap actuel? –

+0

Aucune idée, désolé. Je suis passé à Autofac peu après ... –