知识社区
切换
AI助手
Ai社区
文章
资讯
主页
AI助手
社区
文章
资讯
-->
常用工具
网站模板
登录
注册
全部
问答
分享
建议
讨论
公告
动态
其它
var arrLen = buff.ReadInt16(false); List<object> tmpx = new List<object>(); for
动态
未结
0
92
小小草
LV1
2023年9月23日 23:40
发表
这段代码的作用是从二进制数据流 `buff` 中读取一个长度为 `arrLen` 的数组,并将其转换为 `List
` 类型,然后将该列表赋值给对象 `obj` 中名为 `allField[i]` 的字段。 具体来说,代码中的 `buff.ReadInt16(false)` 表示从 `buff` 中读取 2 个字节的有符号整数(即 short 类型),并将其解析为一个无符号的 16 位整数。该整数表示了数组的长度,存储在变量 `arrLen` 中。 接下来,代码使用一个循环遍历数组中的每个元素,调用 `Byte2Obj` 方法将其转换为对应类型的对象,并添加到 `tmpx` 列表中。其中,`Activator.CreateInstance(allField[i].FieldType.GenericTypeArguments[0])` 表示创建一个 `allField[i]` 字段类型的泛型参数指定的类型的实例,然后将其传递给 `Byte2Obj` 方法进行转换。 最后,代码使用 `allField[i].SetValue(obj, (object)tmpx)` 将 `tmpx` 列表赋值给对象 `obj` 中名为 `allField[i]` 的字段。需要注意的是,由于 `allField[i]` 字段的类型是 `List
`,因此需要将 `tmpx` 强制转换为 `object` 类型。
收藏(
0
)
分享
相关标签:
智能问答
问题没解决?让AI助手帮你作答
AI助手
0个回复
消灭零回复
回复
所在专栏
提问
分享
建议
讨论
动态
其它
阅读权限
默认,所有用户可见
LV1及以上用户可见
LV2及以上用户可见
LV3及以上用户可见
LV4及以上用户可见
LV5及以上用户可见
LV6及以上用户可见
会员专享
管理员可见
确认修改
相关帖子
同步一下会议内容 英文怎么说
0
capsil在金融领域
0
java开源门户系统
0
说错了 是damn it
0
dam it 句子成分
0
解释下 data_cleaned.loc[:, 'Your age'] = pd.to_numeric(data_cle
0
评估回归模型常用的指标
0
智能训练中的特征提取方法有哪些
0
TRIGGER_BODY为长文本类型,我要如何转为 字符串 SELECT TRIGGER_NAME, TRIGGER_T
0
提示数据类型不一致,应为char,却获得long
0