本文整理汇总了C#中StandardKernel.CreateScopeFromNode方法的典型用法代码示例。如果您正苦于以下问题:C# StandardKernel.CreateScopeFromNode方法的具体用法?C# StandardKernel.CreateScopeFromNode怎么用?C# StandardKernel.CreateScopeFromNode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StandardKernel
的用法示例。
在下文中一共展示了StandardKernel.CreateScopeFromNode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
public static void Main(string[] args)
{
#if PLATFORM_IOS
UIApplication.Main(args, null, "AppDelegate");
#else
var kernel = new StandardKernel();
var controllers = kernel.CreateScopeFromNode(kernel.CreateEmptyNode("Controllers"));
kernel.Bind<IInput>().To<DefaultInput>().InScope(controllers).EnforceOnePerScope();
kernel.Bind<IMovement>().To<DefaultMovement>().InScope(controllers).EnforceOnePerScope();
var gameSessionNode = kernel.CreateEmptyNode("GameSession");
var gameSession = kernel.CreateScopeFromNode(gameSessionNode);
var networking = kernel.CreateScopeFromNode(kernel.CreateEmptyNode("Networking", gameSessionNode));
var profiling = kernel.CreateScopeFromNode(kernel.CreateEmptyNode("Profiling", gameSessionNode));
kernel.Bind<IProfiler>().To<DefaultProfiler>().InScope(profiling).EnforceOnePerScope();
kernel.Bind<IProfilerUtil>().To<DefaultProfilerUtil>().InScope(profiling).EnforceOnePerScope();
kernel.Bind<INetworkingSession>().To<NetworkingSession>().InScope(networking).EnforceOnePerScope();
kernel.Bind<INetworkingPlayer>().To<NetworkingPlayer>().InScope(networking);
kernel.Bind<IWorld>().To<DefaultWorld>();
kernel.Bind<IPlayer>().To<Player>();
var worldPlan = kernel.Plan<IWorld>(null, null, "world1");
var worldPlan2 = kernel.Plan<IWorld>(null, null, "world2");
//kernel.Validate(worldPlan);
//var world = kernel.Resolve(worldPlan);
Console.WriteLine("==== AFTER PLANNING TWO WORLDS ====");
foreach (var root in kernel.Hierarchy.RootNodes)
{
Console.Write(root.GetDebugRepresentation());
}
/*
kernel.Discard(worldPlan);
Console.WriteLine("==== AFTER DISCARDING WORLD 1 ====");
foreach (var root in kernel.Hierarchy.RootNodes)
{
Console.Write(root.GetDebugRepresentation());
}
*/
kernel.ResolveToNode(worldPlan);
Console.WriteLine("==== AFTER RESOLVING WORLD 1 ====");
foreach (var root in kernel.Hierarchy.RootNodes)
{
Console.Write(root.GetDebugRepresentation());
}
kernel.ResolveToNode(worldPlan2);
Console.WriteLine("==== AFTER RESOLVING WORLD 2 ====");
foreach (var root in kernel.Hierarchy.RootNodes)
{
Console.Write(root.GetDebugRepresentation());
}
#endif
}