<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                上篇文章使用SafeObjectPool實現了一個簡單的Msg類。代碼如下: ```cs class Msg : IPoolAble,IPoolType { #region IPoolAble 實現 public void OnRecycled() { Log.I("OnRecycled"); } public bool IsRecycled { get; set; } #endregion #region IPoolType 實現 public static Msg Allocate() { return SafeObjectPool<Msg>.Instance.Allocate(); } public void Recycle2Cache() { SafeObjectPool<Msg>.Instance.Recycle(this); } #endregion } ``` 這個類雖然只是用來做SafeObjectExample的實例類的,但是還是有改進的空間。 在Msg的使用場景中,我們只用到了Msg類的Allocate和Recycle2Cache方法。而OnRecycled和IsRecycle這兩個API用戶都用不到,或者說用戶用了會對Msg的管理造成風險,所以我們要想辦法使用戶不能訪問到這兩個API。 這個是可以做到的,就是把OnRecycled和IsRecycled使用接口的顯示實現。 代碼如下: ```cs class Msg : IPoolAble,IPoolType { #region IPoolAble 實現 void IPoolAble.OnRecycled() { Log.I("OnRecycled"); } bool IPoolAble.IsRecycled { get; set; } #endregion #region IPoolType 實現 public static Msg Allocate() { return SafeObjectPool<Msg>.Instance.Allocate(); } public void Recycle2Cache() { SafeObjectPool<Msg>.Instance.Recycle(this); } #endregion } ``` 這樣,創建出來的 Msg對象不能直接訪問OnRecycled和IsRecycled這兩個API了,如果硬是要訪問也可以,就要將Msg對象轉成IPoolAble接口就可以訪問了了。 * 最近在看《Framework Design Guidlines》,里邊說IPoolAble這樣的命名有問題,應該是IPoolable,嗯…,要去重構了... 關于接口的顯示實現是C#的語法細節,隨便貼上一篇給大家參考: [C# 接口的隱式與顯示實現 - Ben—Zhang - 博客園](https://www.cnblogs.com/ben-zhang/archive/2012/12/18/2823455.html) OK,今天就到這里 轉載請注明地址:涼鞋的筆記:[liangxiegame.com](http://liangxiegame.com) ## 更多內容 * QFramework 地址:[https://github.com/liangxiegame/QFramework](https://github.com/liangxiegame/QFramework) * QQ 交流群:[623597263](http://shang.qq.com/wpa/qunwpa?idkey=706b8eef0fff3fe4be9ce27c8702ad7d8cc1bceabe3b7c0430ec9559b3a9ce66) * **Unity 進階小班**: * 主要訓練內容: * 框架搭建訓練(第一年) * 跟著案例學 Shader(第一年) * 副業的孵化(第二年、第三年) * 權益、授課形式等具體詳情請查看[《小班產品手冊》](https://liangxiegame.com/master/intro):https://liangxiegame.com/master/intro * 關注公眾號:liangxiegame 獲取第一時間更新通知及更多的免費內容。 ![](http://file.liangxiegame.com/38eccb55-40b2-4845-93d6-f5fb50ff9492.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看