Type.GetMethod() 使用
当需要在程序运行的时候动态的获得所需要执行的方法,就需要使用到MethodInfo这个类。
比如说:
需要将一个byte[]数据转换成 Int32 , UInt32 ,Int64 ,UInt64 ··· 一般如果可以提前知道需要转换到什么数据类型的话
直接可以使用BitConverter.To***();来实现。但是如果我们实现不知道需要转换到什么类型,这个类型只有在程序运行的时候才可以
确定。我们就需要使用到MethodInfo这个类。
1 String method = "To" + BlockType.Name; //BlockType.Name是将要转换成的数据类型。比如说Int32 则方法名为 ToInt32 2 MethodInfo mi = typeof(BitConverter).GetMethod(method, new Type[] { typeof(byte[]), typeof(int) }); 3 this[index] = mi.Invoke(null, new object[] { byteArray, 0 }); //执行方法 new object[] {byteArray ,0}为参数