泛型的应用

using UnityEngine;
using System.Collections;

public class s2 : MonoBehaviour {

    // Use this for initialization
    void Start () {

        AController a = new AController();
        a.Init();
        a.FunA();

    }
    
    // Update is called once per frame
    void Update () {
    
    }
}

 

using UnityEngine;
using System.Collections;

public class BaseController<C, V>
{ 
    public V view;
}

 

using UnityEngine;
using System.Collections;

public class BaseView<C, V> : MonoBehaviour
    where C : BaseController<C, V>
    where V : BaseView<C, V>
{
    public C controller;
 
}

 

using UnityEngine;
using System.Collections;

public class AController : BaseController< AController , AView> {

    // Use this for initialization
    
    public void  Init()
    {
        AView view = new AView();
        this.view = view;


    }


    public void  FunA()
    {
        Debug.Log("FunA" +  view.str);

    }

    public void FunB()
    {
        Debug.Log("FunB" + view.str);

    }

}

 

using UnityEngine;
using System.Collections;

public class AView : BaseView< AController, AView>
{

    public string str = "AView";
    public  void FunC()
    {
        Debug.Log("FunC");
    }

    public void  FunD()
    {
        Debug.Log("FunD");
    }
}

 

posted @ 2014-11-20 18:13  尚菜  阅读(118)  评论(0编辑  收藏  举报