准备工作
1、我们要开始写例子了
2、为了例子的规范与简洁
3、我们写一个基类,后面继承即可
public abstract class Test : DisposableObject
{
public Test ( )
{
Framework. BindEnvUpdate ( Update, EnvironmentType. Ev0) ;
Framework. BindEnvDispose ( Dispose, EnvironmentType. Ev0) ;
Log. L ( "开始测试----------->" + GetType ( ) ) ;
Start ( ) ;
}
protected abstract void Start ( ) ;
protected abstract void Update ( ) ;
protected abstract void Stop ( ) ;
protected override void OnDispose ( )
{
Stop ( ) ;
Framework. UnBindEnvDispose ( Dispose, EnvironmentType. Ev0) ;
Framework. UnBindEnvUpdate ( Update, EnvironmentType. Ev0) ;
}
}
让我们看看做了什么?
如此简单
1、在构造函数里面绑定了环境的 刷新方法 以及 释放方法
2、在释放方法内 解绑
3、定义了几个虚方法
这样我们只要实例化一个对象就可以测试了
下面让我们开始 快乐的注入吧
令人心旷神怡的注入大法一
public class InjectTest : Test
{
public interface ITestObject
{
void ToDo ( ) ;
}
public class TestObject : ITestObject
{
public void ToDo ( )
{
Log. L ( "NNN" ) ;
}
}
[ Inject ]
public ITestObject _object;
protected override void Start ( )
{
Framework. env0. container. Subscribe < ITestObject, TestObject> ( ) ;
Framework. env0. container. Inject ( this ) ;
_object. ToDo ( ) ;
}
protected override void Stop ( )
{
}
protected override void Update ( )
{
}
}
输出
让我们看看做了什么?
1、声明了一个接口 ITestObject
2、声明了一个类 TestObject 继承自 ITestObject
3、像注入容器里面以 ITestObject 的名义 注入了类型 TestObject
4 、让容器把自己 注入以下参数
5、 调用 自己 注入的字段的方法
过程及其简单 ,效果立竿见影
这就是注入大法之一 反射注入,
强调性能之处慎用