c# - 成员函数是内存结构的一部分吗?
问题描述
我正在使用 C# 开发一个网络应用程序,我需要为其传输一个结构(它包含 3 个字符串成员)。
我还想包括以某些方式测试这 3 个字符串的有效性的成员函数。
我想知道,如果我将该结构(我使用 Marshal.StructToPtr)转换为字节以便通过连接发送它,它是否只是转换成员变量(3 个字符串)或每个函数?
解决方案
应用程序代码(IL 指令、方法、机器代码等)不是任何序列化过程的一部分。它只会序列化那里的数据(字段)。
您可以将内存视为不同的段,其中类/结构定义与实例数据分开。
出于序列化目的通过线路发送代码是一种不好的做法,因为它会打开远程进程以执行任意代码。
推荐阅读
- ios - 如何在swiftui中添加当前日期和歌曲结束时间?
- java - 在Java中读取文本文件并将文本复制到数组中
- c# - AE.Net.Mail 连接超时
- openshift - Spring Kafka - 如何启动在 POD 中运行的容器
- r - R:这两个地块有什么区别?
- c++ - FFMPEG 从内存中读取音频不起作用
- javascript - JS:类 getter/setter 与直接更改属性
- java - NullPointerException,即使对象指向 FXML 实例
- javascript - react js没有让我在任何输入字段中输入(我试图删除值道具但仍然无法正常工作)
- javascript - 键盘上的角材料垫滑动切换 Enter