DeepSeek教unity------MessagePack-03

數據契約兼容性

你可以使用 [DataContract] 注解代替 [MessagePackObject]。如果類型用 DataContract 進行注解,可以使用 [DataMember] 注解代替 [Key],并使用 [IgnoreDataMember] 代替 [IgnoreMember]

然后,[DataMember(Order = int)] 的行為將與 [Key(int)] 相同,[DataMember(Name = string)][Key(string)] 相同,[DataMember][Key(nameof(member name))] 相同。

在共享庫中使用 DataContract 可以使你的類/結構獨立于 MessagePack for C# 序列化。然而,這不被分析器或源生成器支持。此外,像 UnionAttributeMessagePackFormatterSerializationConstructor 等功能無法使用。因此,我們建議在可能的情況下使用特定的 MessagePack for C# 注解。

序列化只讀/不可變對象成員(SerializationConstructor)

MessagePack for C# 支持只讀/不可變對象/成員的序列化。例如,這個結構體可以被序列化和反序列化。

/****************************************************文件:Test_04.cs作者:Edision日期:#CreateTime#功能:示例4:序列化只讀/不可變對象成員
*****************************************************/using MessagePack;
using UnityEngine;public class Test_04 : MonoBehaviour
{public void Test(){var data = new Point(99, 9999);var bin = MessagePackSerializer.Serialize(data);Debug.Log($"【Test_04Logo】{MessagePackSerializer.ConvertToJson(bin)}");// 允許反序列化不可變對象。var point = MessagePackSerializer.Deserialize<Point>(bin);Debug.Log($"【Test_04Logo】{point.X}-{point.Y}");}[MessagePackObject]public struct Point{[Key(0)]public readonly int X;[Key(1)]public readonly int Y;[SerializationConstructor] //注解手動指定要使用的構造函數。public Point(int x){this.X = x;this.Y = -1;}// 如果沒有標記屬性,則使用這個(最匹配的參數)。public Point(int x, int y){this.X = x;this.Y = y;}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/70044.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/70044.shtml
英文地址,請注明出處:http://en.pswp.cn/web/70044.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【對比】Pandas 和 Polars 的區別

Pandas vs Polars 對比表 特性PandasPolars開發語言Python&#xff08;Cython 實現核心部分&#xff09;Rust&#xff08;高性能系統編程語言&#xff09;性能較慢&#xff0c;尤其在大數據集上&#xff08;內存占用高&#xff0c;計算效率低&#xff09;極快&#xff0c;利用…

百度千帆平臺對接DeepSeek官方文檔

目錄 第一步&#xff1a;注冊賬號&#xff0c;開通千帆服務 第二步&#xff1a;創建應用&#xff0c;獲取調用秘鑰 第三步&#xff1a;調用模型&#xff0c;開啟AI對話 方式一&#xff1a;通過API直接調用 方式二&#xff1a;使用SDK快速調用 方式三&#xff1a;在千帆大模…

49. c++計時器

為了測試某段特定代碼的執行時間&#xff0c;體現代碼的性能&#xff0c;可以使用計時器對代碼段計時。下面使用std::chrono中的api編寫簡單案例&#xff1a; // // main.cpp // HelloWorld // // Created by on 2024/11/28. //#include <iostream> #include <vec…

Natural Language Processing NLP

NLP 清晰版本查看 Sentence segmentation (split)Tokenisation (split)Named entity recognition (combine) 概念主要內容典型方法Distributional Semantics&#xff08;分佈式語義&#xff09;&#xff08;分銷語義&#xff08;分佈式語義&#xff09;單詞的語義來自於它的…

Linux中線程創建,線程退出,線程接合

線程的簡單了解 之前我們了解過 task_struct 是用于描述進程的核心數據結構。它包含了一個進程的所有重要信息&#xff0c;并且在進程的生命周期內保持更新。我們想要獲取進程相關信息往往從這里得到。 在Linux中&#xff0c;線程的實現方式與進程類似&#xff0c;每個線程都…

HarmonyOS:使用List實現分組列表(包含粘性標題)

一、支持分組列表 在列表中支持數據的分組展示&#xff0c;可以使列表顯示結構清晰&#xff0c;查找方便&#xff0c;從而提高使用效率。分組列表在實際應用中十分常見&#xff0c;如下圖所示聯系人列表。 聯系人分組列表 在List組件中使用ListItemGroup對項目進行分組&#…

django上傳文件

1、settings.py配置 # 靜態文件配置 STATIC_URL /static/ STATICFILES_DIRS [BASE_DIR /static, ]上傳文件 # 定義一個視圖函數&#xff0c;該函數接收一個 request 參數 from django.shortcuts import render # 必備引入 import json from django.views.decorators.http i…

【前端知識】瀏覽器兼容方案polyfill

瀏覽器兼容方案polyfill 什么是 Polyfill&#xff1f;Polyfill 的作用Polyfill 的工作原理1. **特性檢測**2. **加載 Polyfill**3. **模擬實現** Polyfill 的常見場景Polyfill 的使用方式Polyfill 的優缺點優點缺點 常見的 Polyfill 庫總結 什么是 Polyfill&#xff1f; Polyf…

C#學習之DateTime 類

目錄 一、DateTime 類的常用方法和屬性的匯總表格 二、常用方法程序示例 1. 獲取當前本地時間 2. 獲取當前 UTC 時間 3. 格式化日期和時間 4. 獲取特定部分的時間 5. 獲取時間戳 6. 獲取時區信息 三、總結 一、DateTime 類的常用方法和屬性的匯總表格 在 C# 中&#x…

dedecms 開放重定向漏洞(附腳本)(CVE-2024-57241)

免責申明: 本文所描述的漏洞及其復現步驟僅供網絡安全研究與教育目的使用。任何人不得將本文提供的信息用于非法目的或未經授權的系統測試。作者不對任何由于使用本文信息而導致的直接或間接損害承擔責任。如涉及侵權,請及時與我們聯系,我們將盡快處理并刪除相關內容。 0x0…

如何選擇合適的超參數來訓練Bert和TextCNN模型?

選擇合適的超參數來訓練Bert和TextCNN模型是一個復雜但關鍵的過程&#xff0c;它會顯著影響模型的性能。以下是一些常見的超參數以及選擇它們的方法&#xff1a; 1. 與數據處理相關的超參數 最大序列長度&#xff08;max_length&#xff09; 含義&#xff1a;指輸入到Bert模…

AWS 前端自動化部署流程指南

本文詳細介紹從前端代碼開發到 AWS 自動化部署的完整流程。 一、流程概覽 1.1 部署流程圖 #mermaid-svg-nYg7k6L5IKVBjDtr {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-nYg7k6L5IKVBjDtr .error-icon{fill:#552…

Office word打開加載比較慢處理方法

1.添加safe參數 ,找到word啟動項,右擊word,選擇屬性 , 添加/safe , 應用并確定 2.取消加載項,點擊文件,點擊選項 ,點擊加載項,點擊轉到,取消所有勾選,確定。

大數據SQL調優專題——Spark執行原理

引入 在深入MapReduce中有提到&#xff0c;MapReduce雖然通過“分而治之”的思想&#xff0c;解決了海量數據的計算處理問題&#xff0c;但性能還是不太理想&#xff0c;這體現在兩個方面&#xff1a; 每個任務都有比較大的overhead&#xff0c;都需要預先把程序復制到各個 w…

MYSQL下載安裝及使用

MYSQL官網下載地址&#xff1a;https://downloads.mysql.com/archives/community/ 也可以直接在服務器執行指令下載&#xff0c;但是下載速度比較慢。還是自己下載好拷貝過來比較快。 wget https://dev.mysql.com/get/Downloads/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz 1…

CentOS 7.8 安裝MongoDB 7 副本集(Replica Set)

文章目錄 1 環境假設步驟1&#xff1a;在兩臺服務器上安裝MongoDB步驟2&#xff1a;配置副本集步驟3&#xff1a;初始化副本集步驟4&#xff1a;驗證副本集配置步驟5&#xff1a;設置安全性&#xff08;可選&#xff09;擴展配置示例&#xff1a;最佳實踐&#xff1a;仲裁節點步…

AJAX 與 ASP 的深入探討

AJAX 與 ASP 的深入探討 引言 隨著互聯網技術的飛速發展,Web應用程序的交互性和性能要求越來越高。AJAX(Asynchronous JavaScript and XML)和ASP(Active Server Pages)作為兩種重要的Web開發技術,在提高Web應用程序性能和用戶體驗方面發揮著重要作用。本文將深入探討AJ…

內網下,Ubuntu (24.10) 離線安裝docker最新版教程

一般在數據比較敏感的情況下&#xff0c;是無法使用網絡的&#xff0c;而對于Ubuntu系統來說&#xff0c;怎么離線安裝docker呢&#xff1f; 下面我給大家來講一下&#xff1a; 采用二進制安裝&#xff1a; 1.下載docker離線包 官網下載&#xff1a; Index of linux/static…

Copilot Next Edit Suggestions(預覽版)

作者&#xff1a;Brigit Murtaugh&#xff0c;Burke Holland 排版&#xff1a;Alan Wang 我們很高興向你介紹在本次 Visual Studio Code 發布中&#xff0c;關于 GitHub Copilot 的三個預覽功能&#xff1a; Next Edit Suggestions&#xff08;NES&#xff09;Copilot Edits 的…

高性能內存對象緩存Memcached詳細實驗操作

目錄 前提準備&#xff1a; cache1&#xff0c;2&#xff1a; 客戶端cache-api&#xff08;一定得是LAMP環境&#xff09; memcache實現主主復制以及高可用(基于以上完成) cache1,2: memcachekeepalived(基于以上完成) cache1,2: 前提準備&#xff1a; 1. 準備三臺cent…