前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[C#] 基于反射读电能表数据

[C#] 基于反射读电能表数据

作者头像
科控物联
发布2022-03-29 18:21:25
5850
发布2022-03-29 18:21:25
举报
文章被收录于专栏:科控自动化

读方法:

直接读:

代码语言:javascript
复制
private IReadWriteNet readWriteNet;
OperateResult<short[]> read = readWriteNet.ReadInt16( textBox3.Text, ushort.Parse( textBox5.Text ) );

通过反射读:

代码语言:javascript
复制
private MethodInfo readShortMethod = null;
readShortMethod = type.GetMethod("ReadInt16", new Type[] { typeof(string),typeof(ushort) });
OperateResult<short[]> read = (OperateResult<short[]>)readShortMethod.Invoke(readWriteNet, new object[] { textBox3.Text , ushort.Parse(textBox5.Text) } );

注解

MethodInfo类表示类型的方法。 您可以使用 MethodInfo 对象获取有关对象所表示的方法的信息,以及调用方法。

Type.GetMethod 方法

GetMethod(String, Type[])

搜索其参数与指定参数类型匹配的指定公共方法。

参数

  • name
  • String

包含要获取的公共方法的名称的字符串。

  • types
  • Type[]

表示此方法要获取的参数的个数、顺序和类型的 Type 对象数组。

或 空的 Type 对象数组(由 EmptyTypes 字段提供),用来获取不采用参数的方法。

返回

  • MethodInfo

表示其参数与指定参数类型匹配的公共方法的对象(如果找到的话);否则为 null

例外

AmbiguousMatchException

找到了多个具有指定名称和指定参数的方法。

ArgumentNullException

namenull

typesnull

types 的其中一个元素为 null

ArgumentException

types 是多维的。

MethodBase.Invoke 方法

调用由此 MethodInfo 实例反射的方法或构造函数。

Invoke(Object, Object[]) 使用指定参数调用由当前实例表示的方法或构造函数。
参数
  • obj
  • Object

在其上调用方法或构造函数的对象。 如果方法是静态的,则忽略此参数。 如果构造函数是静态的,则此参数必须是 null 或定义构造函数的类的实例。

  • parameters
  • Object[]

调用方法或构造函数的参数列表。 此对象数组在数量、顺序和类型方面与要调用的方法或构造函数的参数相同。 如果不存在任何参数,则 parameters 应为 null

如果由此实例表示的方法或构造函数采用了 ref 参数(在 Visual Basic 中为 ByRef),那么此参数不需要特殊属性来通过此函数调用此方法或构造函数。 此数组中未使用值显式初始化的任何对象都将包含该对象类型的默认值。 对于引用类型元素,此值为 null。 对于值类型元素,此值为 0、0.0 或 false,具体取决于特定的元素类型。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科控物联 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 注解
  • Type.GetMethod 方法
  • GetMethod(String, Type[])
  • MethodBase.Invoke 方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档