0
LightInject IoC容器中是否有任何「ObjectFactory.GetInstance」類似物?LightInject IoC容器中的ObjectFactory.GetInstance模擬
例如,我需要解決從IServiceBehavior繼承的自定義行爲屬性中的接口,但默認情況下,我需要的接口未解析。
public class MyInspectorAttribute : Attribute, IOperationBehavior, IParameterInspector, IServiceBehavior
{
public IExternalService ExternalServiceInstance { get; set; } //always null
public void AddBindingParameters(OperationDescription operationDescription, BindingParameterCollection bindingParameters) { }
public void ApplyClientBehavior(OperationDescription operationDescription, ClientOperation clientOperation) { }
public void ApplyDispatchBehavior(OperationDescription operationDescription, DispatchOperation dispatchOperation)
{
dispatchOperation.ParameterInspectors.Add(this);
}
public void Validate(OperationDescription operationDescription) { }
public void AfterCall(string operationName, object[] outputs, object returnValue, object correlationState)
{
Console.WriteLine("Operation {0} returned: result = {1}", operationName, returnValue);
}
}
public class CompositionRoot : ICompositionRoot
{
public void Compose(IServiceRegistry serviceRegistry)
{
serviceRegistry.Register<IService1, Service1>();
serviceRegistry.Register<IExternalService,ExternalService>();
}
}
問題是什麼?爲什麼你不能將一個對LightInject容器的引用存儲在'static'' public'字段中,這樣你就可以在屬性中訪問它了? – Steven
請你舉個例子 – VoimiX