2010-05-21 2 views
0

J'ai mon application, en utilisant la fonctionnalité qui est basée sur le bloc d'application de l'unité. Parfois, j'ai besoin de lancer ResolutionFailedException manuellement. Dans le constructeur v1.2 de ResolutionFailedException avait trois paramètres - typerequested, namerequested et exception. Dans v2.0 quatrième paramètre a été ajouté - Buildercontext. Je ne le crée pas manuellement, donc je n'ai aucune référence et je ne sais pas où je peux l'obtenir. En gros, je ne fais que contourner la méthode Resolve de manière particulière et je ne m'interpose pas dans le mécanisme standard des politiques, stratégies et ainsi de suite. Quelqu'un pourrait-il aider?Unity 2.0. Comment lancer ResolutionFailedException

Répondre

2

cette exception est actuellement pas censé être appelé par le développeur, de toute façon, vous pouvez appeler le manière suivante

throw new ResolutionFailedException(
      typeof (IConcreteService), 
      "IConcreteService", 
      null, 
      new BuilderContext(null, null, null, null,     NamedTypeBuildKey.Make<IConcreteService>("nameOrNullIfResolvedNotNamedInstance"), null) 
      );