public void register <T>(ITezSinglePrefab prefab) where T : class, ITezSinglePrefab
        {
            switch (SinglePrefabContainer <T> .ID)
            {
            case TezTypeInfo.ErrorID:
                SinglePrefabContainer <T> .setID(count ++);

                break;
            }

            SinglePrefabContainer <T> .prefab = prefab;
        }
        private void register(ITezSinglePrefab prefab)
        {
            Type type = typeof(SinglePrefabContainer <>);

            type = type.MakeGenericType(prefab.GetType());
            type.InvokeMember("prefab"
                              , BindingFlags.Public | BindingFlags.Static | BindingFlags.SetField
                              , null
                              , null
                              , new object[] { prefab });

            //            Debug.Log(string.Format("{0}/{1}", prefab.GetType().Name, count));

            type.InvokeMember("m_ID"
                              , BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.SetField
                              , null
                              , null
                              , new object[] { count++ });
        }
 public void setPrefab(ITezSinglePrefab prefab)
 {
     this.prefab = prefab;
 }
 /// <summary>
 /// 不要单独调用此构造函数
 /// </summary>
 public TezPrefabID(int id, ITezSinglePrefab prefab)
 {
     this.ID     = id;
     this.prefab = prefab;
 }