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}为参数

 

posted @ 2013-07-23 14:40  侠梦千年  阅读(1147)  评论(0编辑  收藏  举报