示例#1
0
    // Start is called before the first frame update
    void Start()
    {
        var container = new UFrameContainer();

        container.RegisterInstance(container);

        container.Register <IPlayer, Player>();

        container.Resolve <IPlayer>().Run();

        var player1 = container.Resolve <IPlayer>();
        var player2 = container.Resolve <IPlayer>();

        Debug.Log(player1.GetHashCode());
        Debug.Log(player2.GetHashCode());

        container.RegisterInstance <IPlayer>(new Player());

        var player3 = container.Resolve <IPlayer>();
        var player4 = container.Resolve <IPlayer>();

        Debug.Log(player3.GetHashCode());
        Debug.Log(player4.GetHashCode());

        Debug.Log(container.Resolve <UFrameContainer>().GetHashCode());
        Debug.Log(container.GetHashCode());
    }