首页 > 解决方案 > 成员函数是内存结构的一部分吗?

问题描述

我正在使用 C# 开发一个网络应用程序,我需要为其传输一个结构(它包含 3 个字符串成员)。

我还想包括以某些方式测试这 3 个字符串的有效性的成员函数。

我想知道,如果我将该结构(我使用 Marshal.StructToPtr)转换为字节以便通过连接发送它,它是否只是转换成员变量(3 个字符串)或每个函数?

标签: c#memory

解决方案


应用程序代码(IL 指令、方法、机器代码等)不是任何序列化过程的一部分。它只会序列化那里的数据(字段)。

您可以将内存视为不同的段,其中类/结构定义与实例数据分开。

出于序列化目的通过线路发送代码是一种不好的做法,因为它会打开远程进程以执行任意代码。


推荐阅读