|
using LightCore;
using LightCore.Configuration;
using LightCore.Registration;
namespace KCore
{
public static class ServiceLocator
{
// Create the container
private static IContainer _container;
/// <summary>
/// Resolve a type for the container and return
/// </summary>
/// <typeparam name="T">Type to resolve</typeparam>
public static T Resolve<T>()
{
if (_container == null) Configure("LightCore.config");
return (T)_container.Resolve(typeof(T));
}
/// <summary>
/// Prepare container configuration
/// </summary>
public static void Configure(string filename)
{
// Check if the container is null; execute only once
if (_container != null)
{
// Do something; like log and return
//return;
}
// Here is hwere we intialize and build the LightCore IOC container
// using the LightCore configuration file
var builder = new ContainerBuilder();
RegistrationModule xamlModule = new XamlRegistrationModule(filename);
builder.RegisterModule(xamlModule);
_container = builder.Build();
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Enabling the achievement of full potential through innovative research of advanced machine learning technologies to address the evolving strategic military battlespace technical hypothesis, leading to capabilities that will transition to operational prototypes for complex digital transformations.
Doctorate Computer Science