有一个基类SocketBase,其中有一个RecvMsg(string msg)函数,
开发中,有若干个class去继承或者实现这个SocketBase,
想要子类中的RecvMsg被自动调用(不知道子类类名的情况下)
请问该怎么写?
补充:有点像C#的插件开发一样,别人在实现插件的接口时候,可以任意命名类命,那么在接口层,他们是怎么调用的子类方法呢?
有一个基类SocketBase,其中有一个RecvMsg(string msg)函数,
开发中,有若干个class去继承或者实现这个SocketBase,
想要子类中的RecvMsg被自动调用(不知道子类类名的情况下)
请问该怎么写?
补充:有点像C#的插件开发一样,别人在实现插件的接口时候,可以任意命名类命,那么在接口层,他们是怎么调用的子类方法呢?
1.Assembly.GetExecutingAssembly()获取当前程序集所有的Type
2.遍历这些Type找到继承自SocketBase的Type,可以试试Type.BaseType==typeof(SocketBase) 或者 is 运算符
3.使用反射创建Type的实例
4.使用反射找到这个实例的RecvMsg方法
5.使用Method.Invoke()进行调用