Sont des méthodes aussi sérialisé avec les données membres .NET?
Le titre est évident, j'ai besoin de savoir si les méthodes sont sérialisées avec des instances de l'objet en C#, je sais qu'ils ne sont pas en Java mais je suis un peu novice en C#. S'ils ne le font pas, dois-je mettre de la classe d'origine avec le flux d'octets(objet sérialisé) en un seul envoi, lorsque l'envoi à un autre PC? Peut de la classe d'origine comme un fichier DLL?
- Pour info, il y a beaucoup de la sérialisation des Api. Ils se comportent différemment - on dirait que vous utilisez
BinaryFormatter
, mais en général, vous devriez essayer d'être explicite sur lequel API que vous utilisez. - N'obtenez pas votre commentaire?
- BTW, la sérialisation a presque rien à voir avec le C#, et tout à voir avec .NET.
Vous devez vous connecter pour publier un commentaire.
Pas. Le type d'informations est sérialisée de l'état. Pour désérialiser les données, votre programme aura besoin d'avoir accès aux assemblées contenant les types (y compris les méthodes).
Il peut être plus facile à comprendre si vous avez appris C. Une classe comme
est essentiellement sucre syntaxique pour
C'est essentiellement la façon dont les méthodes virtuelles sont mises en œuvre dans les langages orientés objet. La chose importante ici est que les méthodes sont pas partie des données de l'instance.
Méthodes ne sont pas sérialisé.
Je ne sais pas au sujet de votre scénario, mais en les plaçant dans une bibliothèque (assemblée /dll) et de l'aide que dans l'autre extrémité à désérialiser vous permet de vous tous.
Ps. vous devriez probablement créer certains vous poser d'autres questions avec les facteurs qui interviennent dans votre scénario. Si vous avez l'intention de dynamiquement envoyer & exécuter le code, vous pouvez créer de terribles conséquences sur la sécurité.
J'étais confus quand .NET tout d'abord à la sérialisation. Je pense que c'est venu du fait que la plupart des livres et des guides de mentionner qu'il vous permet de sérialiser vos "objets", comme XML et de les déplacer, le fait est que vous êtes réellement en hydratant les valeurs de l'objet de sorte que vous pouvez déshydrater leur dernier. à aucun moment, ne vous économiser de l'ensemble de votre objet sur le disque car cela impliquerait de la dll et n'est pas contenue dans le fichier XML.