比如现在有接口 ITest,里面有方法 Log ,
类 A 实现ITest,
定义一个工厂,返回ITest类型的实例
现在用工厂反射 ( Assembly.LoadFrom.CreateInstance ) 得到A的实例 instance
现在想调用Log方法,查了一下 ,有两种1: type.GetMethod("Log").Invoke(instance)
2: instance.Log 这两种有什么区别啊?
类 A 实现ITest,
定义一个工厂,返回ITest类型的实例
现在用工厂反射 ( Assembly.LoadFrom.CreateInstance ) 得到A的实例 instance
现在想调用Log方法,查了一下 ,有两种1: type.GetMethod("Log").Invoke(instance)
2: instance.Log 这两种有什么区别啊?
2、是通过CreateInstance再转成接口类型,可以直接调用Log函数。反射的类必须定义接口1的效率要比2低
也容易维护和扩展
2是A的实例直接调用log方法