commit a4cbc24e25c5e0ca2d8b5b99aa63dabf510eb7c1 Author: wbandzq <7901952@qq.com> Date: Thu Dec 11 09:52:50 2025 +0800 12312321 diff --git a/.vs/Interaction_DigitalPenAP_Csharp_form_demo.csproj.dtbcache.json b/.vs/Interaction_DigitalPenAP_Csharp_form_demo.csproj.dtbcache.json new file mode 100644 index 0000000..7944a8d --- /dev/null +++ b/.vs/Interaction_DigitalPenAP_Csharp_form_demo.csproj.dtbcache.json @@ -0,0 +1 @@ +{"RootPath":"D:\\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\\tstudy_digital_pen_sdk_for_ap_1.7.5\\LiteVersionSDK\\examples\\interaction\\Interaction_DigitalPenAP_Csharp_form_demo","ProjectFileName":"Interaction_DigitalPenAP_Csharp_form_demo.csproj","Configuration":"Debug|x86","FrameworkPath":"","Sources":[{"SourceFile":"Form1.cs"},{"SourceFile":"Form1.Designer.cs"},{"SourceFile":"FrmSetPenName.cs"},{"SourceFile":"FrmSetPenName.Designer.cs"},{"SourceFile":"MyLicense.cs"},{"SourceFile":"PenDraw.cs"},{"SourceFile":"PenDraw.Designer.cs"},{"SourceFile":"Program.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"TransparentTabControl.cs"},{"SourceFile":"Properties\\Resources.Designer.cs"},{"SourceFile":"Properties\\Settings.Designer.cs"},{"SourceFile":"obj\\x86\\Debug\\.NETFramework,Version=v4.0.AssemblyAttributes.cs"}],"References":[{"Reference":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\Microsoft.CSharp\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\WINDOWS\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Core\\v4.0_4.0.0.0__b77a5c561934e089\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Data.DataSetExtensions\\v4.0_4.0.0.0__b77a5c561934e089\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_32\\System.Data\\v4.0_4.0.0.0__b77a5c561934e089\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Deployment\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Deployment.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System\\v4.0_4.0.0.0__b77a5c561934e089\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Drawing\\v4.0_4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Windows.Forms\\v4.0_4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Xml\\v4.0_4.0.0.0__b77a5c561934e089\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Xml.Linq\\v4.0_4.0.0.0__b77a5c561934e089\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\\tstudy_digital_pen_sdk_for_ap_1.7.5\\LiteVersionSDK\\bin\\c_sharp\\4.0\\TStudyDigitalPen.AP.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"D:\\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\\tstudy_digital_pen_sdk_for_ap_1.7.5\\LiteVersionSDK\\examples\\interaction\\Interaction_DigitalPenAP_Csharp_form_demo\\bin\\Debug\\WindowsFormsApp.exe","OutputItemRelativePath":"WindowsFormsApp.exe"},{"OutputItemFullPath":"","OutputItemRelativePath":""}],"CopyToOutputEntries":[]} \ No newline at end of file diff --git a/AppCode/Entity/MQ.cs b/AppCode/Entity/MQ.cs new file mode 100644 index 0000000..de7efb0 --- /dev/null +++ b/AppCode/Entity/MQ.cs @@ -0,0 +1,5 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; diff --git a/AppCode/Entity/PenData.cs b/AppCode/Entity/PenData.cs new file mode 100644 index 0000000..d0abcf1 --- /dev/null +++ b/AppCode/Entity/PenData.cs @@ -0,0 +1,94 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +public class ClassPenList +{ + public long ClassId { get; set; } + public List Pens { get; set; } +} + +public class Pens +{ + public string serialNo { get; set; } + public int power { get; set; } +} + + +public class PenData +{ + public long ID { get; set; } + public string PenNo { get; set; } + public string PenValue { get; set; } +} + +public class SR_Pen_coordinate +{ + public ulong time { get; set; } + public string penSerial { get; set; } + public string pageSerial { get; set; } + public ulong penType { get; set; } + public int cx { get; set; } + public int cy { get; set; } + public int force { get; set; } + public int flag { get; set; } +} +public class ServerResult +{ + public int code { get; set; } + public string msg { get; set; } + public bool success { get; set; } + + public object data { get; set; } +} + +public class PenStatus +{ + public string serialNo { get; set; } + public bool onlineStatus { get; set; } + public int power { get; set; } + +} + +public class StudentPen +{ + public long studentId { get; set; } + + public string studentName { get; set; } + + public string penSerialNo { get; set; } +} + + + +public class TempListiInfoServer +{ + public string areaPoints { get; set; } + public int type { get; set; } + public string pageNo { get; set; } + public int widthDotMatrix { get; set; } + public int hightDotMatrix { get; set; } + public string previewUrl { get; set; } +} + +/// 模板 +/// +public class TempListiInfo +{ + public long ID { get; set; } + public string QuestionType { get; set; } + + public string PageNo { get; set; } + public int pageWidth { get; set; } + + public int pageHeight { get; set; } + + public string LayOutData { get; set; } + + public string BackGroundImg { get; set; } + +} + + diff --git a/AppCode/SaveDataOperater.cs b/AppCode/SaveDataOperater.cs new file mode 100644 index 0000000..8e74f56 --- /dev/null +++ b/AppCode/SaveDataOperater.cs @@ -0,0 +1,400 @@ +using System; +using System.Collections.Generic; +using System.Data.SqlClient; +using System.Drawing; +using System.Linq; +using System.Net.Http; +using System.Runtime.InteropServices; +using System.Text; +using System.Text.Json; +using System.Threading.Tasks; +using System.Web; +using System.Windows.Forms; +using Dapper; +using Newtonsoft.Json; + + public static class SaveDataOperater + { + public static void AddPenData() + { + + } + private static string connectionString = "Server=.;Database=Tstudy;User Id=sa;Password=Woshiren123;Integrated Security=true;"; + + + public static void InsertIntoTable(string sql) + { + using (SqlConnection connection = new SqlConnection(connectionString)) + { + connection.Open(); + using (SqlCommand command = new SqlCommand(sql, connection)) + { + command.ExecuteNonQuery(); + } + } + } + + /// + /// 删除末班 + /// + public static void DeleteTempListiInfo() + { + string sql = "DELETE TempListiInfo"; + using (SqlConnection connection = new SqlConnection(connectionString)) + { + connection.Open(); + connection.Execute(sql); + } + } + + public static void AddTempListiInfo(List temp) + { + using (SqlConnection connection = new SqlConnection(connectionString)) + { + connection.Open(); + // 使用事务确保数据一致性 + using (SqlTransaction transaction = connection.BeginTransaction()) + { + try + { + string sql = @"INSERT INTO TempListiInfo (QuestionType, PageNo, pageWidth,pageHeight,LayOutData,BackGroundImg) + VALUES (@QuestionType, @PageNo, @pageWidth,@pageHeight,@LayOutData,@BackGroundImg)"; + + using (SqlCommand command = new SqlCommand(sql, connection, transaction)) + { + command.Parameters.Add("@QuestionType", System.Data.SqlDbType.NVarChar,50); + command.Parameters.Add("@PageNo", System.Data.SqlDbType.NVarChar, 50); + command.Parameters.Add("@pageWidth", System.Data.SqlDbType.Int); + command.Parameters.Add("@pageHeight", System.Data.SqlDbType.Int); + command.Parameters.Add("@LayOutData", System.Data.SqlDbType.NVarChar, -1); + command.Parameters.Add("@BackGroundImg", System.Data.SqlDbType.NVarChar, 200); + + foreach (var t in temp) + { + command.Parameters["@QuestionType"].Value =t.type; + command.Parameters["@PageNo"].Value = t.pageNo; + command.Parameters["@pageWidth"].Value = t.widthDotMatrix; + command.Parameters["@pageHeight"].Value = t.hightDotMatrix; + command.Parameters["@LayOutData"].Value = t.areaPoints ?? ""; + command.Parameters["@BackGroundImg"].Value = t.previewUrl ?? ""; + command.ExecuteNonQuery(); + } + } + transaction.Commit(); + } + catch (Exception ex) + { + transaction.Rollback(); + throw; + } + } + } + } + + public static void AddStudentInfo(List studentPens) + { + using (SqlConnection connection = new SqlConnection(connectionString)) + { + connection.Open(); + + // 使用事务确保数据一致性 + using (SqlTransaction transaction = connection.BeginTransaction()) + { + try + { + string sql = @"INSERT INTO StudentInfo (StudentID, StudentName, PenNo) + VALUES (@StudentID, @StudentName, @PenNo)"; + + using (SqlCommand command = new SqlCommand(sql, connection, transaction)) + { + command.Parameters.Add("@StudentID", System.Data.SqlDbType.BigInt); + command.Parameters.Add("@StudentName", System.Data.SqlDbType.NVarChar, 100); + command.Parameters.Add("@PenNo", System.Data.SqlDbType.NVarChar, 50); + + foreach (var pen in studentPens) + { + command.Parameters["@StudentID"].Value = pen.studentId; + command.Parameters["@StudentName"].Value = pen.studentName ?? (object)DBNull.Value; + command.Parameters["@PenNo"].Value = pen.penSerialNo ?? ""; + command.ExecuteNonQuery(); + } + } + transaction.Commit(); + } + catch (Exception ex) + { + transaction.Rollback(); + throw; + } + } + } + } + + public static void DeleteStudentInfo() + { + string sql = "Delete StudentInfo"; + using (var connection = new SqlConnection(connectionString)) + { + connection.Open(); + connection.Execute(sql); + } + } + + /// + /// 删除所有笔的表 + /// + public static void DropAllPenTable() + { + string sql = @"SELECT 'DROP TABLE ' + TABLE_SCHEMA + '.""' + TABLE_NAME + '"";' AS DropCommands + FROM INFORMATION_SCHEMA.TABLES + WHERE TABLE_TYPE = 'BASE TABLE' + AND TABLE_NAME NOT IN ('PenStatus', 'QuestionTask','StudentInfo','TempMain','TempListiInfo','TaskGoServer');"; + using (var connection = new SqlConnection(connectionString)) + { + StringBuilder sb = new StringBuilder(); + connection.Open(); + bool isgo = false; + foreach (string list in connection.Query(sql).AsList()) + { + isgo = true; + sb.Append(list); + } + if (isgo) + { + connection.Execute(sb.ToString()); + } + + } + } + + public static List GetAllPenStatus() + { + string sql = "SELECT PenNo as serialNo, Status as onlineStatus ,charge as power FRom PenStatus"; + List penStatusList = new List(); + using (SqlConnection connection = new SqlConnection(connectionString)) + { + connection.Open(); + using (SqlCommand command = new SqlCommand(sql, connection)) + using (SqlDataReader reader = command.ExecuteReader()) + { + while (reader.Read()) + { + PenStatus status = new PenStatus + { + serialNo = reader.GetString(0), + onlineStatus = reader.GetBoolean(1), + power = reader.GetInt32(2) + }; + penStatusList.Add(status); + } + } + } + return penStatusList; + } + + + public static void DeletePenStatus() + { + //DELETE PenStatus; + string sql = "DELETE QuestionTask;UPdate PenStatus SET Status=0"; + using (var connection = new SqlConnection(connectionString)) + { + connection.Open(); + connection.Execute(sql); + } + } + + //获取电量 + public static void UpdatePenCharge(string penNo, int charge) + { + if (string.IsNullOrEmpty(penNo)) + { + return; + } + string sql = "SELECT COUNT(1) FROM PenStatus WHERE PenNo='" + penNo + "'"; + using (var connection = new SqlConnection(connectionString)) + { + connection.Open(); + string query = ""; + query = @"SELECT COUNT(1) FROM PenStatus WHERE PenNo=@PenNo"; + if (connection.ExecuteScalar(query, new { PenNo = penNo }) > 0) + { + query = "UPDATE PenStatus SET charge=@charge WHERE PenNo=@PenNo"; + connection.Execute(query, new { charge = charge, penNo = penNo }); + } + else + { + query = "INSERT INTO PenStatus (PenNo,Status,charge) VALUES(@PenNo,@Status,@charge)"; + connection.Execute(query, new { charge = charge, penNo = penNo, Status =1 }); + } + } + } + + /// + /// 更改笔状态 + /// + public async static void UpdatePenStatus(string penNo,int Status) + { + if (string.IsNullOrEmpty(penNo)) + { + return; + } + string sql = "SELECT COUNT(1) FROM PenStatus WHERE PenNo='" + penNo + "'"; + using (var connection = new SqlConnection(connectionString)) + { + connection.Open(); + string query = ""; + query = @"SELECT COUNT(1) FROM PenStatus WHERE PenNo=@PenNo"; + if (connection.ExecuteScalar(query, new { PenNo = penNo }) > 0) + { + query = "UPDATE PenStatus SET Status=@Status WHERE PenNo=@PenNo"; + connection.Execute(query, new { Status = Status, penNo = penNo }); + } + else + { + + + query = "INSERT INTO PenStatus (PenNo,Status) VALUES(@PenNo,@Status)"; + connection.Execute(query, new { Status = Status, penNo = penNo }); + } + } + } + + /// + /// 新增笔的表 + /// + /// + public async static void AddSqlTable(string tableName,long ClassID) + { + using (var connection = new SqlConnection(connectionString)) + { + connection.Open(); + if (!CheckTableExists(tableName, connectionString)) + { + CreateEmployeeTable(tableName, connectionString); + + + using (HttpClient client = new HttpClient()) + { + List lt = new List(); + + ClassPenList cpl = new ClassPenList(); + cpl.ClassId = ClassID; + Pens p = new Pens(); + p.serialNo = tableName; + p.power = 0; + cpl.Pens = new List(); + cpl.Pens.Add(p); + lt.Add(cpl); + var jsonContent = System.Text.Json.JsonSerializer.Serialize(lt); + try + { + var content = new StringContent(jsonContent, Encoding.UTF8, "application/json"); + HttpResponseMessage response = await client.PostAsync(WindowsFormsApp.Form1.apiUrl + "/sdk/v1/dotmatrix/pen/add", content); + response.EnsureSuccessStatusCode(); + ServerResult sr = JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync()); + if (sr.success) + { + UpdatePenStatus(tableName); + } + } + catch + { + + } + + } + + } + } + } + + static void UpdatePenStatus(string penNo) + { + string SQL = "UPDATE PenStatus SET isToServer=1 WHERE PenNo='"+ penNo + "'"; + using (SqlConnection connection = new SqlConnection(connectionString)) + { + connection.Open(); + using (SqlCommand command = new SqlCommand(SQL, connection)) + { + command.ExecuteNonQuery(); + } + } + } + + /// + /// 检查表是否存在 + /// + static bool CheckTableExists(string tableName, string connectionString) + { + string checkSql = @" + SELECT COUNT(*) + FROM INFORMATION_SCHEMA.TABLES + WHERE TABLE_NAME = @TableName"; + + using (SqlConnection connection = new SqlConnection(connectionString)) + { + connection.Open(); + using (SqlCommand command = new SqlCommand(checkSql, connection)) + { + command.Parameters.AddWithValue("@TableName", tableName); + int count = (int)command.ExecuteScalar(); + return count > 0; + } + } + } + + /// + /// 创建笔的表 + /// + static void CreateEmployeeTable(string tableName, string connectionString) + { + //public string penSerial { get; set; } + //public string pageSerial { get; set; } + //public ulong penType { get; set; } + //public int cx { get; set; } + //public int cy { get; set; } + //public int force { get; set; } + //public int flag { get; set; } + //public long time { get; set; } + + string createSql = string.Format(@" + CREATE TABLE {0} ( + ID BIGINT PRIMARY KEY IDENTITY(1,1), + penSerial NVARCHAR(50) NOT NULL, + pageSerial NVARCHAR(50) NOT NULL, + penType INT NOT NULL, + cx INT NOT NULL, + cy INT NOT NULL, + force INT NOT NULL, + flag INT NOT NULL, + time BIGINT NOT NULL, + CreatedDate DATETIME DEFAULT GETDATE() + ); + + CREATE TABLE {1} ( + ID BIGINT PRIMARY KEY IDENTITY(1,1), + penSerial NVARCHAR(50) NOT NULL, + pageSerial NVARCHAR(50) NOT NULL, + penType INT NOT NULL, + cx INT NOT NULL, + cy INT NOT NULL, + force INT NOT NULL, + flag INT NOT NULL, + time BIGINT NOT NULL, + CreatedDate DATETIME DEFAULT GETDATE() + ); + + +", "\""+tableName + "\"", "\"" + tableName + "_bak\""); + + using (SqlConnection connection = new SqlConnection(connectionString)) + { + connection.Open(); + using (SqlCommand command = new SqlCommand(createSql, connection)) + { + command.ExecuteNonQuery(); + } + } + } + } diff --git a/Form1.Designer.cs b/Form1.Designer.cs new file mode 100644 index 0000000..a3741fd --- /dev/null +++ b/Form1.Designer.cs @@ -0,0 +1,236 @@ +namespace WindowsFormsApp +{ + partial class Form1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); + this.label1 = new System.Windows.Forms.Label(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.获取信息ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.清除存储ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.获取笔时间ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.设置笔时间ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.设置笔名ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.获取笔名ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.设置指示灯ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.设置临时指示灯ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.获取指示灯ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.设置蜂鸣器ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.设置关机时间ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.获取关机时间ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.获取笔迹分布时间ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.timer1 = new System.Windows.Forms.Timer(this.components); + this.timer2 = new System.Windows.Forms.Timer(this.components); + this.button1 = new System.Windows.Forms.Button(); + this.flowLayoutPanel1.SuspendLayout(); + this.contextMenuStrip1.SuspendLayout(); + this.SuspendLayout(); + // + // flowLayoutPanel1 + // + this.flowLayoutPanel1.AutoScroll = true; + this.flowLayoutPanel1.Controls.Add(this.button1); + this.flowLayoutPanel1.Controls.Add(this.label1); + this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0); + this.flowLayoutPanel1.Margin = new System.Windows.Forms.Padding(2); + this.flowLayoutPanel1.Name = "flowLayoutPanel1"; + this.flowLayoutPanel1.Size = new System.Drawing.Size(600, 360); + this.flowLayoutPanel1.TabIndex = 0; + this.flowLayoutPanel1.Paint += new System.Windows.Forms.PaintEventHandler(this.flowLayoutPanel1_Paint); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(84, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(41, 12); + this.label1.TabIndex = 0; + this.label1.Text = "label1"; + // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.获取信息ToolStripMenuItem, + this.清除存储ToolStripMenuItem, + this.获取笔时间ToolStripMenuItem, + this.设置笔时间ToolStripMenuItem, + this.设置笔名ToolStripMenuItem, + this.获取笔名ToolStripMenuItem, + this.设置指示灯ToolStripMenuItem, + this.设置临时指示灯ToolStripMenuItem, + this.获取指示灯ToolStripMenuItem, + this.设置蜂鸣器ToolStripMenuItem, + this.设置关机时间ToolStripMenuItem, + this.获取关机时间ToolStripMenuItem, + this.获取笔迹分布时间ToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(173, 290); + // + // 获取信息ToolStripMenuItem + // + this.获取信息ToolStripMenuItem.Name = "获取信息ToolStripMenuItem"; + this.获取信息ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); + this.获取信息ToolStripMenuItem.Text = "获取信息"; + // + // 清除存储ToolStripMenuItem + // + this.清除存储ToolStripMenuItem.Name = "清除存储ToolStripMenuItem"; + this.清除存储ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); + this.清除存储ToolStripMenuItem.Text = "清除存储"; + // + // 获取笔时间ToolStripMenuItem + // + this.获取笔时间ToolStripMenuItem.Name = "获取笔时间ToolStripMenuItem"; + this.获取笔时间ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); + this.获取笔时间ToolStripMenuItem.Text = "获取笔时间"; + // + // 设置笔时间ToolStripMenuItem + // + this.设置笔时间ToolStripMenuItem.Name = "设置笔时间ToolStripMenuItem"; + this.设置笔时间ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); + this.设置笔时间ToolStripMenuItem.Text = "设置笔时间"; + // + // 设置笔名ToolStripMenuItem + // + this.设置笔名ToolStripMenuItem.Name = "设置笔名ToolStripMenuItem"; + this.设置笔名ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); + this.设置笔名ToolStripMenuItem.Text = "设置笔名"; + // + // 获取笔名ToolStripMenuItem + // + this.获取笔名ToolStripMenuItem.Name = "获取笔名ToolStripMenuItem"; + this.获取笔名ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); + this.获取笔名ToolStripMenuItem.Text = "获取笔名"; + // + // 设置指示灯ToolStripMenuItem + // + this.设置指示灯ToolStripMenuItem.Name = "设置指示灯ToolStripMenuItem"; + this.设置指示灯ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); + this.设置指示灯ToolStripMenuItem.Text = "设置指示灯"; + // + // 设置临时指示灯ToolStripMenuItem + // + this.设置临时指示灯ToolStripMenuItem.Name = "设置临时指示灯ToolStripMenuItem"; + this.设置临时指示灯ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); + this.设置临时指示灯ToolStripMenuItem.Text = "设置临时指示灯"; + // + // 获取指示灯ToolStripMenuItem + // + this.获取指示灯ToolStripMenuItem.Name = "获取指示灯ToolStripMenuItem"; + this.获取指示灯ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); + this.获取指示灯ToolStripMenuItem.Text = "获取指示灯"; + // + // 设置蜂鸣器ToolStripMenuItem + // + this.设置蜂鸣器ToolStripMenuItem.Name = "设置蜂鸣器ToolStripMenuItem"; + this.设置蜂鸣器ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); + this.设置蜂鸣器ToolStripMenuItem.Text = "设置蜂鸣器"; + // + // 设置关机时间ToolStripMenuItem + // + this.设置关机时间ToolStripMenuItem.Name = "设置关机时间ToolStripMenuItem"; + this.设置关机时间ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); + this.设置关机时间ToolStripMenuItem.Text = "设置关机时间"; + // + // 获取关机时间ToolStripMenuItem + // + this.获取关机时间ToolStripMenuItem.Name = "获取关机时间ToolStripMenuItem"; + this.获取关机时间ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); + this.获取关机时间ToolStripMenuItem.Text = "获取关机时间"; + // + // 获取笔迹分布时间ToolStripMenuItem + // + this.获取笔迹分布时间ToolStripMenuItem.Name = "获取笔迹分布时间ToolStripMenuItem"; + this.获取笔迹分布时间ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); + this.获取笔迹分布时间ToolStripMenuItem.Text = "获取笔迹分布时间"; + // + // timer1 + // + this.timer1.Interval = 1000; + this.timer1.Tick += new System.EventHandler(this.timer1_Tick); + // + // timer2 + // + this.timer2.Interval = 1000; + this.timer2.Tick += new System.EventHandler(this.timer2_Tick); + // + // button1 + // + this.button1.Location = new System.Drawing.Point(3, 3); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 23); + this.button1.TabIndex = 1; + this.button1.Text = "同步数据"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(600, 360); + this.ContextMenuStrip = this.contextMenuStrip1; + this.Controls.Add(this.flowLayoutPanel1); + this.Margin = new System.Windows.Forms.Padding(2); + this.Name = "Form1"; + this.Text = "Form1"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing); + this.Load += new System.EventHandler(this.Form1_Load); + this.flowLayoutPanel1.ResumeLayout(false); + this.flowLayoutPanel1.PerformLayout(); + this.contextMenuStrip1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; + private System.Windows.Forms.ContextMenuStrip contextMenuStrip1; + private System.Windows.Forms.ToolStripMenuItem 获取信息ToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem 清除存储ToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem 获取笔时间ToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem 设置笔时间ToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem 设置笔名ToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem 获取笔名ToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem 设置指示灯ToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem 设置临时指示灯ToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem 获取指示灯ToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem 设置蜂鸣器ToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem 设置关机时间ToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem 获取关机时间ToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem 获取笔迹分布时间ToolStripMenuItem; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Timer timer1; + private System.Windows.Forms.Timer timer2; + private System.Windows.Forms.Button button1; + } +} + diff --git a/Form1.cs b/Form1.cs new file mode 100644 index 0000000..eaf55a4 --- /dev/null +++ b/Form1.cs @@ -0,0 +1,799 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Diagnostics; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using TStudyDigitalPen.AP; +using Newtonsoft.Json; +using System.Threading.Tasks; +using System.Web; +using System.Threading; +using System.Drawing.Imaging; +using System.IO; +using System.Text.Json; +using Fleck; +using System.Security.Policy; +using System.Net.Http; +using System.Xml.Linq; +namespace WindowsFormsApp +{ + public partial class Form1 : Form + { + + static DigitalPenAP digitalPenAP; + static List Penesult = new List(); + static List penList = new List(); + static object obj = new object(); + public static long ClassID=0; + public static string apiUrl = ""; + + //DigitalPenAP对象,负责与点阵笔通信,接收数据,发送指令 + + //所有已连接笔的绘制窗口 + Dictionary AllPenDrawsDic = new Dictionary(); + public Form1() + { + InitializeComponent(); + // 加载 XML 文件 + XDocument xdoc = XDocument.Load("roomconfig.xml"); + // 读取 AppName 节点内容 + ClassID = Convert.ToInt64(xdoc.Element("Root")?.Element("Settings")?.Element("ClassID").Value);//房间号 + apiUrl = xdoc.Element("Root")?.Element("Settings")?.Element("apiUrl").Value; + SaveDataOperater.DeletePenStatus(); + //SaveDataOperater.DropAllPenTable(); + WriteData(); + } + + public static async void WriteData() + { + while (true) + { + if (Penesult.Count > 0) + { + try + { + GetPenDataInSql(); + } + catch + { + + } + + //Console.WriteLine(Penesult.Count); + + } + await Task.Delay(500); + } + } + + + private static void GetPenDataInSql() + { + lock (obj) + { + StringBuilder sb = new StringBuilder(); + var newList = penList.ToList(); + foreach (string penNo in newList) + { + List lt = Penesult.FindAll(c => c.penSerial == penNo); + if (lt.Count > 0) + { + foreach (SR_Pen_coordinate sr in lt) + { + sb.Append($@"INSERT INTO {"\"" + sr.penSerial + "\""} VALUES('{sr.penSerial}','{sr.pageSerial}',{sr.penType},{sr.cx},{sr.cy},{sr.force},{sr.flag},{sr.time},'{DateTime.Now}')"); + } + } + Penesult.RemoveAll(c => c.penSerial == penNo); + } + if (sb.ToString() != "") + { + + SaveDataOperater.InsertIntoTable(sb.ToString()); + + + } + } + } + + private void InitPen() + { + //获取DigitalPenAP实例 + digitalPenAP = DigitalPenAP.GetInstance(certificates.MyLicense.Bytes); + #region 设置笔事件处理函数 + //绑定坐标事件 + digitalPenAP.PenCoordinate += digitalPenAP_PenCoordinate; + //绑定笔连接事件 + digitalPenAP.PenConnected += digitalPenAP_PenConnected; + //绑定笔断开事件 + digitalPenAP.PenDisconnect += digitalPenAP_PenDisconnect; + //绑定落笔事件 + digitalPenAP.PenDown += digitalPenAP_PenDown; + //绑定抬笔事件 + digitalPenAP.PenUp += digitalPenAP_PenUp; + //绑定笔信息事件 + digitalPenAP.PenInfo += DigitalPenAP_PenInfo; + //绑定获取笔时间事件 + digitalPenAP.PenRTC += DigitalPenAP_PenRTC; + //绑定蓝牙断连原因事件 + digitalPenAP.PenBluetoothDisconnectionReason += digitalPenAP_PenBluetoothDisconnectionReason; + //绑定设置笔名字结果事件 + digitalPenAP.PenSetName += digitalPenAP_PenSetName; + //绑定获取笔名字事件 + digitalPenAP.PenPenGetName += digitalPenAP_PenGetName; + //绑定设置指示灯结果事件 + digitalPenAP.PenPenSetLed += digitalPenAP_PenSetLed; + //绑定设置指示灯临时状态结果事件 + digitalPenAP.PenPenSetLedTemporary += digitalPenAP_PenSetLedTemporary; + //绑定获取指示灯结果事件 + digitalPenAP.PenGetLed += digitalPenAP_PenGetLed; + //绑定设置笔超时关机时间结果事件 + digitalPenAP.PenSetShutDownTime += digitalPenAP_PenSetShutDownTime; + //绑定设置蜂鸣器结果事件 + digitalPenAP.PenSetBuzzer += digitalPenAP_PenSetBuzzer; + //绑定获取笔超时关机时间事件 + digitalPenAP.PenGetShutDown += digitalPenAP_PenGetShutDown; + //绑定获取笔迹分布事件 + digitalPenAP.PenGetHandwriting += digitalPenAP_PenGetHandwriting; + //绑定电量上报事件 + digitalPenAP.ReceivePenBatteryChanged += digitalPenAP_ReceivePenBatteryChanged; + #endregion + + //开启AP,接收笔数据 + //此函数在程序初始化时调用一次即可 + //系统会自己创建该文件目录以及在里面下自动生成log.txt; 最终 例:D:/a/demoLog/log.txt 、D:/a/demoLog/log.1.txt - D:/a/demoLog/log.*.txt + char[] filePath = "D:/a/demoLog".ToCharArray(); + //第一个参数为0表示不生成指定路径的log,1表示生成 + //该日志会记录笔迹数据,长度最好是放大一些(不要超出unsigned int),示例一个文件最大10MB,最后参数标志该日志文件最多有n个(log.*.txt),所以最终最大可存储10MB * 11(log.txt + log.*.txt)的信息量(最新的数据) + ERROR_CODE rc = digitalPenAP.Start(false, filePath, 10 * 1024 * 1024, 10); + //判断返回值是否正确 + if (rc != ERROR_CODE.ERROR_OK) + { + MessageBox.Show("初始化失败" + rc.ToString()); + + } + else + { + + } + timer1.Start(); + timer2.Start(); + } + private static string RTCToTimeString(ulong rtc) + { + DateTime dt = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); + + TimeSpan timeSpan = new TimeSpan((long)rtc * 1000); + DateTime now = dt.AddMilliseconds(rtc); + return now.ToString("yyyy-MM-dd HH:mm:ss"); + } + //笔时间 响应GetPenRTC函数 + private void DigitalPenAP_PenRTC(ulong time, string penSerial, int penType, ulong rtc) + { + MessageBox.Show(RTCToTimeString(rtc), penSerial); + } + + //笔连接事件 + //收到此事件,说明点阵笔已经连接,此时调用GetPenData函数就可以正常获取点阵笔数据 + private void digitalPenAP_PenConnected(ulong time, string penSerial, int penType) + { + string x = penSerial; + + penList.Add(penSerial); + SaveDataOperater.AddSqlTable(penSerial, ClassID); + SaveDataOperater.UpdatePenStatus(penSerial, 1); + + //务必调用此函数获取笔数据 + digitalPenAP.GetPenData(penSerial); + + if (AllPenDrawsDic.ContainsKey(penSerial) == false) + { + var item = contextMenuStrip1.Items[0] as ToolStripDropDownItem; + ToolStripItem subItem = new ToolStripMenuItem(penSerial); + subItem.Click += SubItem_Click; + subItem.Tag = "Info"; + item.DropDownItems.Add(subItem); + + item = contextMenuStrip1.Items[1] as ToolStripDropDownItem; + subItem = new ToolStripMenuItem(penSerial); + subItem.Click += SubItem_Click; + subItem.Tag = "Mem"; + item.DropDownItems.Add(subItem); + + item = contextMenuStrip1.Items[2] as ToolStripDropDownItem; + subItem = new ToolStripMenuItem(penSerial); + subItem.Click += SubItem_Click; + subItem.Tag = "GetRtc"; + item.DropDownItems.Add(subItem); + + item = contextMenuStrip1.Items[3] as ToolStripDropDownItem; + subItem = new ToolStripMenuItem(penSerial); + subItem.Click += SubItem_Click; + subItem.Tag = "SetRtc"; + item.DropDownItems.Add(subItem); + + + item = contextMenuStrip1.Items[4] as ToolStripDropDownItem; + subItem = new ToolStripMenuItem(penSerial); + subItem.Click += SubItem_Click; + subItem.Tag = "SetPenName"; + item.DropDownItems.Add(subItem); + + item = contextMenuStrip1.Items[5] as ToolStripDropDownItem; + subItem = new ToolStripMenuItem(penSerial); + subItem.Click += SubItem_Click; + subItem.Tag = "GetPenName"; + item.DropDownItems.Add(subItem); + + item = contextMenuStrip1.Items[6] as ToolStripDropDownItem; + subItem = new ToolStripMenuItem(penSerial); + subItem.Click += SubItem_Click; + subItem.Tag = "SetPenLed"; + item.DropDownItems.Add(subItem); + + item = contextMenuStrip1.Items[7] as ToolStripDropDownItem; + subItem = new ToolStripMenuItem(penSerial); + subItem.Click += SubItem_Click; + subItem.Tag = "SetPenLedTemporary"; + item.DropDownItems.Add(subItem); + + item = contextMenuStrip1.Items[8] as ToolStripDropDownItem; + subItem = new ToolStripMenuItem(penSerial); + subItem.Click += SubItem_Click; + subItem.Tag = "GetPenLed"; + item.DropDownItems.Add(subItem); + + item = contextMenuStrip1.Items[9] as ToolStripDropDownItem; + subItem = new ToolStripMenuItem(penSerial); + subItem.Click += SubItem_Click; + subItem.Tag = "SetPenBuzzer"; + item.DropDownItems.Add(subItem); + + item = contextMenuStrip1.Items[10] as ToolStripDropDownItem; + subItem = new ToolStripMenuItem(penSerial); + subItem.Click += SubItem_Click; + subItem.Tag = "SetdownTime"; + item.DropDownItems.Add(subItem); + + item = contextMenuStrip1.Items[11] as ToolStripDropDownItem; + subItem = new ToolStripMenuItem(penSerial); + subItem.Click += SubItem_Click; + subItem.Tag = "GetdownTime"; + item.DropDownItems.Add(subItem); + + item = contextMenuStrip1.Items[12] as ToolStripDropDownItem; + subItem = new ToolStripMenuItem(penSerial); + subItem.Click += SubItem_Click; + subItem.Tag = "GetHandwritingDistribution"; + item.DropDownItems.Add(subItem); + AddPen(penSerial); + } + } + + private void AddPen(string penserial) + { + if (this.InvokeRequired) + { + Action action = new Action(AddPen); + this.Invoke(action, new object[] { penserial }); + } + else + { + //PenDraw penDraw = new PenDraw(penserial); + //flowLayoutPanel1.Controls.Add(penDraw); + //AllPenDrawsDic.Add(penserial, penDraw); + } + } + + private void DigitalPenAP_PenInfo(ulong time, string penSerial, int penType,string penMac, int batteryPercent, int memoryPercent, int memoryUsedInBytes, string hw, string sw) + { + //Debug.WriteLine($"{penSerial} {penMac} {batteryPercent} {memoryPercent} {memoryUsedInBytes}"); + } + private async void Form1_Load(object sender, EventArgs e) + { + InitPen(); + } + private static readonly object splLock = new object(); + private static readonly int maxCount = 500; + + void ProcessBusinessData(string taskName,string[] penList) + { + } + private const int CANVAS_WIDTH = 800; + private const int CANVAS_HEIGHT = 600; + private const int MARGIN = 50; + private void digitalPenAP_PenDisconnect(ulong time, string penSerial, int penType) + { + try + { + SaveDataOperater.UpdatePenStatus(penSerial, 0); + } + catch + { + + } + //penList.Remove(penSerial); + } + + hdwrdist_list_t p_list = new hdwrdist_list_t(); + + private void SubItem_Click(object sender, EventArgs e) + { + ToolStripMenuItem item = sender as ToolStripMenuItem; + + switch (item.Tag.ToString()) { + case "Info": + digitalPenAP.GetPenInfo(item.Text); + break; + case "Mem": + digitalPenAP.ClearPenMemory(item.Text); + break; + case "GetRtc": + digitalPenAP.GetPenRTC(item.Text); + break; + case "SetRtc": + { + Form form = new Form(); + form.Text = "设置时间"; + DateTimePicker dateTimePicker = new DateTimePicker(); + dateTimePicker.Format = DateTimePickerFormat.Custom; + dateTimePicker.CustomFormat = "yyyy-MM-dd HH:mm:ss"; + dateTimePicker.MinDate = new DateTime(2018, 1, 1); + dateTimePicker.Dock = DockStyle.Fill; + form.Controls.Add(dateTimePicker); + form.StartPosition = FormStartPosition.CenterParent; + form.ShowDialog(); + DateTime result = dateTimePicker.Value; + TimeSpan ts = result - TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); + var rtc = Convert.ToUInt64(ts.TotalSeconds * 1000); + digitalPenAP.SetPenRTC(item.Text, rtc); + } + break; + case "SetPenName": //设置笔名 + { + FrmSetPenName frmSetPenName = new FrmSetPenName("SetPenName", item.Text); + frmSetPenName.SpeedChangeClickEvent += FrmSetPenName_SpeedChangeClickEvent; + if (DialogResult.OK == frmSetPenName.ShowDialog()) { + + } + } + break; + case "GetPenName": //获取笔名 + { + digitalPenAP.GetCurrentPenNameExpose(item.Text); + } + break; + case "SetPenLed": //设置指示灯 + { + FrmSetPenName frmSetPenName = new FrmSetPenName("SetPenLed", item.Text); + frmSetPenName.SpeedChangeClickEvent += FrmSetPenName_SpeedChangeClickEvent; + if (DialogResult.OK == frmSetPenName.ShowDialog()) + { + + } + } + break; + case "SetPenLedTemporary": //设置临时指示灯 + { + FrmSetPenName frmSetPenName = new FrmSetPenName("SetPenLedTemporary", item.Text); + frmSetPenName.SpeedChangeClickEvent += FrmSetPenName_SpeedChangeClickEvent; + if (DialogResult.OK == frmSetPenName.ShowDialog()) + { + + } + } + break; + case "GetPenLed": //获取指示灯 + { + digitalPenAP.GetCurrentPenLedExpose(item.Text); + } + break; + case "SetPenBuzzer": //设置蜂鸣器 + { + FrmSetPenName frmSetPenName = new FrmSetPenName("SetPenBuzzer", item.Text); + frmSetPenName.SpeedChangeClickEvent += FrmSetPenName_SpeedChangeClickEvent; + if (DialogResult.OK == frmSetPenName.ShowDialog()) + { + + } + } + break; + case "SetdownTime": //设置关机时间 + { + FrmSetPenName frmSetPenName = new FrmSetPenName("SetdownTime", item.Text); + frmSetPenName.SpeedChangeClickEvent += FrmSetPenName_SpeedChangeClickEvent; + if (DialogResult.OK == frmSetPenName.ShowDialog()) + { + + } + } + break; + case "GetdownTime": //获取关机时间 + { + digitalPenAP.GetShutdownTimeExpose(item.Text); + } + break; + case "GetHandwritingDistribution": //获取笔迹分布时间 + { + hdwrdist_set_ts_t p_ts = new hdwrdist_set_ts_t + { + is_get_all = true, + st_rtc = (uint)GetCurrentRtc(), + day = 9, + }; + var list = new hdwrdist_list_unit_t[480]; + for (int i = 0; i < 480; i++) + { + var ht = new hdwrdist_list_unit_t { hdwr_evt_cnt = 0, rtc = 0 }; + list[i] = ht; + } + p_list.list_cnt = 0; + p_list.list = list; + digitalPenAP.GetCurrentHandwritingDistributionExpose(item.Text, ref p_ts, ref p_list); + } + break; + } + } + + private void FrmSetPenName_SpeedChangeClickEvent(string name,string penserial, string speedStr,string speedType,int interval= 0, int buzzcount = 0, int onoff = 0, int oncevalid = 0) + { + if (name== "SetPenName") + { + digitalPenAP.SetCurrentPenNameExpose(penserial, speedStr); + + } + else if (name == "SetPenLed"|| name == "SetPenLedTemporary") + { + var ledstate = LED_STATE_E.BLUE_LIGHT_ON; + + var ledtype = LED_TYPE_E.BLE_CONNECT_LED; + + switch (speedStr) + { + case "BLUE_LIGHT_ON": + ledstate=LED_STATE_E.BLUE_LIGHT_ON;break; + case "BLUE_LIGHT_FLASHING": + ledstate = LED_STATE_E.BLUE_LIGHT_FLASHING; break; + case "GREEN_LIGHT_ON": + ledstate = LED_STATE_E.GREEN_LIGHT_ON; break; + case "GREEN_LIGHT_FLASHING": + ledstate = LED_STATE_E.GREEN_LIGHT_FLASHING; break; + case "RED_LIGHT_ON": + ledstate = LED_STATE_E.RED_LIGHT_ON; break; + case "RED_LIGHT_FLASHING": + ledstate = LED_STATE_E.RED_LIGHT_FLASHING; break; + case "YELLOW_LIGHT_ON": + ledstate = LED_STATE_E.YELLOW_LIGHT_ON; break; + case "YELLOW_LIGHT_FLASHING": + ledstate = LED_STATE_E.YELLOW_LIGHT_FLASHING; break; + case "PINK_LIGHT_ON": + ledstate = LED_STATE_E.PINK_LIGHT_ON; break; + case "PINK_LIGHT_FLASHING": + ledstate = LED_STATE_E.PINK_LIGHT_FLASHING; break; + case "LIGHT_BLUE_LIGHT_ON": + ledstate = LED_STATE_E.LIGHT_BLUE_LIGHT_ON; break; + case "LIGHT_BLUE_LIGHT_FLASHING": + ledstate = LED_STATE_E.LIGHT_BLUE_LIGHT_FLASHING; break; + case "WHITE_LIGHT_ON": + ledstate = LED_STATE_E.WHITE_LIGHT_ON; break; + case "WHITE_LIGHT_FLASHING": + ledstate = LED_STATE_E.WHITE_LIGHT_FLASHING; break; + } + + switch (speedType) + { + case "POWER_ON_LED": + ledtype = LED_TYPE_E.POWER_ON_LED; break; + case "BLE_CONNECT_LED": + ledtype = LED_TYPE_E.BLE_CONNECT_LED; break; + case "LOW_POWER_WARNING_LED": + ledtype = LED_TYPE_E.LOW_POWER_WARNING_LED; break; + case "CHARGING_LED": + ledtype = LED_TYPE_E.CHARGING_LED; break; + case "STORAGE_FULL_LED": + ledtype = LED_TYPE_E.STORAGE_FULL_LED; break; + } + if (name == "SetPenLed") + { + led_list_unit_s led_List_Unit_S = new led_list_unit_s + { + state = (byte)ledstate, + type = (byte)ledtype + }; + digitalPenAP.SetCurrentPenLedExpose(penserial, ref led_List_Unit_S); + } + else + { + led_tmp_state_s led_tmp_state = new led_tmp_state_s + { + type = (byte)ledtype, + state = (byte)ledstate, + is_enable = buzzcount==1?true:false, + is_contd = onoff == 1 ? true : false, + time_sec =(byte)interval, + }; + digitalPenAP.SetCurrentPenLedTemporaryExpose(penserial, ref led_tmp_state); + } + } + else if(name == "SetdownTime") + { + digitalPenAP.SetShutdownTimeExpose(penserial,(ushort)Convert.ToInt32(speedStr)); + } + else if (name == "SetPenBuzzer") + { + tsdpen_buzzer_set_t tsdpen_Buzzer_Set_T = new tsdpen_buzzer_set_t + { + onoff = (uint)onoff, + buzz_freq =(uint)Convert.ToInt32(speedStr), + buzz_time = (uint)Convert.ToInt32(speedType), + buzz_interval_ms = (uint)interval, + once_buzz_count =(uint)buzzcount, + once_valid =(uint)oncevalid + }; + + digitalPenAP.SetCurrentPenBuzzerExpose(penserial, ref tsdpen_Buzzer_Set_T); + } + } + + private void digitalPenAP_PenDown(ulong time, string penSerial, int penType) + { + + //if (AllPenDrawsDic.ContainsKey(penSerial) == true) + //{ + // AllPenDrawsDic[penSerial].OnPenDown(time, penSerial, penType); + + SR_Pen_coordinate sr = new SR_Pen_coordinate(); + sr.penSerial = penSerial; + sr.cy = 0; + sr.cx = 0; + sr.time = time; + sr.force = 0; + sr.flag = 0; + Penesult.Add(sr); + //} + + } + + + private WebSocketServer _server; + private List _allSockets; + private bool _isRunning = false; + public void socketGo() { + _allSockets = new List(); + _server = new WebSocketServer("ws://0.0.0.0:9000"); + + _server.Start(socket => + { + socket.OnOpen = () => + { + + _allSockets.Add(socket); + }; + + socket.OnClose = () => + { + _allSockets.Remove(socket); + }; + + socket.OnMessage = message => + { + //socket.Send($"服务器收到:{message}"); + }; + }); + } + + + private async void digitalPenAP_PenUp(ulong time, string penSerial, int penType) + { + //if (AllPenDrawsDic.ContainsKey(penSerial) == true) + // { + // AllPenDrawsDic[penSerial].OnPenUp(time, penSerial, penType); + + SR_Pen_coordinate sr = new SR_Pen_coordinate(); + sr.penSerial = penSerial; + sr.cy = 0; + sr.cx = 0; + sr.time = time; + sr.force = 0; + sr.flag = 2; + Penesult.Add(sr); + //} + + } + private void digitalPenAP_PenCoordinate(ulong time, string penSerial, int penType, string pageSerial, int cx, int cy, ushort force) + { + //if (AllPenDrawsDic.ContainsKey(penSerial) == true) + //{ + //AllPenDrawsDic[penSerial].OnPenCoordinate(time, penSerial, penType, pageSerial, cx, cy, force); + + //} + SR_Pen_coordinate sr = new SR_Pen_coordinate(); + sr.penSerial = penSerial; + sr.pageSerial = pageSerial; + //sr.cy = cy / (4600 / 400); + //sr.cx = cx / (4600 / 400); + sr.cy = cy; + sr.cx = cx; + sr.time = time; + sr.force = force; + sr.flag = 1; + Penesult.Add(sr); + } + + //蓝牙断开的原因事件的回调函数 + private static void digitalPenAP_PenBluetoothDisconnectionReason(string penSerial,ref tsdpen_rsp_bluetooth_disconnection_reason_t evt) + { + //Console.WriteLine("Pen_BluetoothDisconnectionReason:\t{0}\t{1}", penSerial, JsonConvert.SerializeObject(evt)); + } + //设置笔名事件的回调函数 + private static void digitalPenAP_PenSetName(string penSerial, ref tsdpen_rsp_set_pen_name_t evt) + { + + //MessageBox.Show(string.Format("Pen_SetName:\nPenSerial:\t{0}\nres:\t{1}", penSerial, evt.res)); + + } + //获取笔名事件的回调函数 + private static void digitalPenAP_PenGetName(string penSerial, ref tsdpen_rsp_get_pen_name_t evt) + { + var name = System.Text.Encoding.Default.GetString(evt.name, 0, evt.name.Length); + //MessageBox.Show(string.Format("Pen_PenGetName:\nPenSerial:\t{0}\nres:\t{1}\nname:\t{2}", penSerial, evt.res, name)); + } + //设置指示灯事件的回调函数 + private static void digitalPenAP_PenSetLed(string penSerial, ref tsdpen_rsp_set_pen_led_state_t evt) + { + //Console.WriteLine("Pen_PenSetLed:\t{0}\t{1}", penSerial, JsonConvert.SerializeObject(evt)); + //MessageBox.Show(string.Format("PenSetLed:\nPenSerial:\t{0}\nres:\t{1}", penSerial, evt.res)); + } + //设置临时指示灯事件的回调函数 + private static void digitalPenAP_PenSetLedTemporary(string penSerial, ref tsdpen_rsp_set_pen_led_state_t evt) + { + + //Console.WriteLine("Pen_PenSetLedTemporary:\t{0}\t{1}", penSerial, JsonConvert.SerializeObject(evt)); + //MessageBox.Show(string.Format("Pen_PenSetLedTemporary:\nPenSerial:\t{0}\nres:\t{1}", penSerial, evt.res)); + } + //获取指示灯信息事件的回调函数 + private static void digitalPenAP_PenGetLed(string penSerial, ref tsdpen_rsp_get_pen_led_state_t evt) + { + //Console.WriteLine("Pen_GetLed:\t{0}\t{1}", penSerial, JsonConvert.SerializeObject(evt)); + //MessageBox.Show(string.Format("Pen_GetLed:\nPenSerial:\t{0}\nres:\t{1}\n{2}", penSerial, evt.res, JsonConvert.SerializeObject(evt.details))); + } + //设置定时关机时间事件的回调函数 + private static void digitalPenAP_PenSetShutDownTime(string penSerial, ref tsdpen_rsp_set_timeout_val_t evt) + { + //Console.WriteLine("Pen_SetShutDownTime:\t{0}\t{1}", penSerial, JsonConvert.SerializeObject(evt)); + //MessageBox.Show(string.Format("Pen_SetShutDownTime:\nPenSerial:\t{0}\nres:\t{1}", penSerial, evt.res)); + } + //设置蜂鸣器事件的回调函数 + private static void digitalPenAP_PenSetBuzzer(string penSerial, ref tsdpen_rsp_set_buzzer_t evt) + { + //MessageBox.Show(string.Format("Pen_SetBuzzer:\nPenSerial:\t{0}\nres:\t{1}", penSerial, evt.res)); + } + //获取定时关机时间事件的回调函数 + private static void digitalPenAP_PenGetShutDown(string penSerial, ref tsdpen_rsp_get_timeout_val_t evt) + { + //MessageBox.Show(string.Format("Pen_GetShutDown:\nPenSerial:\t{0}\nres:\t{1}\ntime:\t{2}", penSerial, evt.res, evt.ttv)); + } + //获取笔迹分布时间的回调函数 + private static void digitalPenAP_PenGetHandwriting(string penSerial, ref tsdpen_rsp_get_pen_hdwrdist_t evt) + { + //MessageBox.Show(string.Format("Pen_GetHandwriting:\nPenSerial:\t{0}\nres:\t{1}\np_list:\t{2}", penSerial, evt.res, JsonConvert.SerializeObject(evt.p_list) )); + } + //电量上报事件 + private static void digitalPenAP_ReceivePenBatteryChanged(string penSerial, ref tsdpen_battery_changed_t evt) + { + + var set = JsonConvert.SerializeObject(evt); + try + { + SaveDataOperater.UpdatePenCharge(penSerial, evt.charge); + } + catch { + + } + + //Console.WriteLine("Pen_BatteryChanged:\t{0}\t{1}", penSerial, JsonConvert.SerializeObject(evt)); + } + private void Form1_FormClosing(object sender, FormClosingEventArgs e) + { + digitalPenAP.Stop(); + } + + private static ulong GetCurrentRtc() + { + TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0); + return Convert.ToUInt64(ts.TotalSeconds * 1000); + } + + private void flowLayoutPanel1_Paint(object sender, PaintEventArgs e) + { + + } + + /// + /// 点阵笔上报电量 + /// + /// + /// + private async void timer1_Tick(object sender, EventArgs e) + { + + List lt = SaveDataOperater.GetAllPenStatus(); + var jsonContent = System.Text.Json.JsonSerializer.Serialize(lt); + try + { + using (HttpClient client = new HttpClient()) + { + var content = new StringContent(jsonContent, Encoding.UTF8, "application/json"); + HttpResponseMessage response = await client.PostAsync(WindowsFormsApp.Form1.apiUrl + "/sdk/v1/dotmatrix/pen/report", content); + response.EnsureSuccessStatusCode(); + ServerResult sr = JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync()); + } + } + catch + { + } + } + /// + /// 获取用户列表数据 + /// + /// + /// + private async void timer2_Tick(object sender, EventArgs e) + { + GetDataToServer(); + } + + + private async void GetDataToServer() + { + try + { + //拉取用户ID + using (HttpClient client = new HttpClient()) + { + var content = new StringContent("", Encoding.UTF8, "application/json"); + HttpResponseMessage response = await client.GetAsync(WindowsFormsApp.Form1.apiUrl + "/sdk/v1/class/student/pens?classId=" + ClassID); + response.EnsureSuccessStatusCode(); + ServerResult sr = JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync()); + if (sr.success) + { + List lt = JsonConvert.DeserializeObject>(sr.data.ToString()); + SaveDataOperater.DeleteStudentInfo(); + if (lt.Count > 0) + SaveDataOperater.AddStudentInfo(lt); + } + } + + //拉取模板数据 + using (HttpClient client = new HttpClient()) + { + var content = new StringContent("", Encoding.UTF8, "application/json"); + HttpResponseMessage response = await client.GetAsync(WindowsFormsApp.Form1.apiUrl + "/sdk/v1/dotmatrix/page/sync"); + response.EnsureSuccessStatusCode(); + + ServerResult sr = JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync()); + if (sr.success) + { + List lt = System.Text.Json.JsonSerializer.Deserialize>(sr.data.ToString()); + SaveDataOperater.DeleteTempListiInfo(); + SaveDataOperater.AddTempListiInfo(lt); + } + } + } + catch + { + + } + } + + private void button1_Click(object sender, EventArgs e) + { + GetDataToServer(); + } + } +} + + diff --git a/Form1.resx b/Form1.resx new file mode 100644 index 0000000..1158ba6 --- /dev/null +++ b/Form1.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 181, 17 + + + 273, 17 + + \ No newline at end of file diff --git a/FrmSetPenName.Designer.cs b/FrmSetPenName.Designer.cs new file mode 100644 index 0000000..3186010 --- /dev/null +++ b/FrmSetPenName.Designer.cs @@ -0,0 +1,677 @@ + +namespace WindowsFormsApp +{ + partial class FrmSetPenName + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.tabPage4 = new System.Windows.Forms.TabPage(); + this.button1 = new System.Windows.Forms.Button(); + this.label2 = new System.Windows.Forms.Label(); + this.ShutdownTime = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.tabPage3 = new System.Windows.Forms.TabPage(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.radioclose = new System.Windows.Forms.RadioButton(); + this.radioopen = new System.Windows.Forms.RadioButton(); + this.radioonce = new System.Windows.Forms.RadioButton(); + this.radioalways = new System.Windows.Forms.RadioButton(); + this.label12 = new System.Windows.Forms.Label(); + this.label11 = new System.Windows.Forms.Label(); + this.label10 = new System.Windows.Forms.Label(); + this.txtBuzzCount = new System.Windows.Forms.TextBox(); + this.label8 = new System.Windows.Forms.Label(); + this.txtBuzzinTerval = new System.Windows.Forms.TextBox(); + this.label9 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.txtBuzzTime = new System.Windows.Forms.TextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.btnBuzz = new System.Windows.Forms.Button(); + this.txtBuzz = new System.Windows.Forms.TextBox(); + this.lblBuzz = new System.Windows.Forms.Label(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.panel1 = new System.Windows.Forms.Panel(); + this.txtDuration = new System.Windows.Forms.TextBox(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.radioNo = new System.Windows.Forms.RadioButton(); + this.radioYes = new System.Windows.Forms.RadioButton(); + this.label13 = new System.Windows.Forms.Label(); + this.label16 = new System.Windows.Forms.Label(); + this.label14 = new System.Windows.Forms.Label(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.radioStop = new System.Windows.Forms.RadioButton(); + this.radioFiring = new System.Windows.Forms.RadioButton(); + this.label15 = new System.Windows.Forms.Label(); + this.cmbLedType = new System.Windows.Forms.ComboBox(); + this.label3 = new System.Windows.Forms.Label(); + this.btnLamp = new System.Windows.Forms.Button(); + this.cmbLamp = new System.Windows.Forms.ComboBox(); + this.lblLamp = new System.Windows.Forms.Label(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.btnSetName = new System.Windows.Forms.Button(); + this.txtSetName = new System.Windows.Forms.TextBox(); + this.lblSetname = new System.Windows.Forms.Label(); + this.transparentTabControl1 = new WindowsFormsApp.TransparentTabControl(); + this.tabPage4.SuspendLayout(); + this.tabPage3.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.tabPage2.SuspendLayout(); + this.panel1.SuspendLayout(); + this.groupBox3.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.tabPage1.SuspendLayout(); + this.transparentTabControl1.SuspendLayout(); + this.SuspendLayout(); + // + // tabPage4 + // + this.tabPage4.Controls.Add(this.button1); + this.tabPage4.Controls.Add(this.label2); + this.tabPage4.Controls.Add(this.ShutdownTime); + this.tabPage4.Controls.Add(this.label1); + this.tabPage4.Location = new System.Drawing.Point(4, 22); + this.tabPage4.Name = "tabPage4"; + this.tabPage4.Padding = new System.Windows.Forms.Padding(3); + this.tabPage4.Size = new System.Drawing.Size(365, 203); + this.tabPage4.TabIndex = 3; + this.tabPage4.Text = "设置关机时间"; + this.tabPage4.UseVisualStyleBackColor = true; + // + // button1 + // + this.button1.Location = new System.Drawing.Point(113, 98); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 23); + this.button1.TabIndex = 3; + this.button1.Text = "确定"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(229, 56); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(29, 12); + this.label2.TabIndex = 2; + this.label2.Text = "分钟"; + // + // ShutdownTime + // + this.ShutdownTime.Location = new System.Drawing.Point(124, 50); + this.ShutdownTime.Name = "ShutdownTime"; + this.ShutdownTime.Size = new System.Drawing.Size(100, 21); + this.ShutdownTime.TabIndex = 1; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(37, 56); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(89, 12); + this.label1.TabIndex = 0; + this.label1.Text = "设置关机时间:"; + // + // tabPage3 + // + this.tabPage3.Controls.Add(this.groupBox1); + this.tabPage3.Controls.Add(this.radioonce); + this.tabPage3.Controls.Add(this.radioalways); + this.tabPage3.Controls.Add(this.label12); + this.tabPage3.Controls.Add(this.label11); + this.tabPage3.Controls.Add(this.label10); + this.tabPage3.Controls.Add(this.txtBuzzCount); + this.tabPage3.Controls.Add(this.label8); + this.tabPage3.Controls.Add(this.txtBuzzinTerval); + this.tabPage3.Controls.Add(this.label9); + this.tabPage3.Controls.Add(this.label6); + this.tabPage3.Controls.Add(this.txtBuzzTime); + this.tabPage3.Controls.Add(this.label7); + this.tabPage3.Controls.Add(this.label5); + this.tabPage3.Controls.Add(this.label4); + this.tabPage3.Controls.Add(this.btnBuzz); + this.tabPage3.Controls.Add(this.txtBuzz); + this.tabPage3.Controls.Add(this.lblBuzz); + this.tabPage3.Location = new System.Drawing.Point(4, 22); + this.tabPage3.Name = "tabPage3"; + this.tabPage3.Padding = new System.Windows.Forms.Padding(3); + this.tabPage3.Size = new System.Drawing.Size(365, 203); + this.tabPage3.TabIndex = 2; + this.tabPage3.Text = "设置蜂鸣"; + this.tabPage3.UseVisualStyleBackColor = true; + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.radioclose); + this.groupBox1.Controls.Add(this.radioopen); + this.groupBox1.Location = new System.Drawing.Point(100, -75); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(106, 101); + this.groupBox1.TabIndex = 19; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "groupBox1"; + // + // radioclose + // + this.radioclose.AutoSize = true; + this.radioclose.Location = new System.Drawing.Point(53, 79); + this.radioclose.Name = "radioclose"; + this.radioclose.Size = new System.Drawing.Size(35, 16); + this.radioclose.TabIndex = 5; + this.radioclose.TabStop = true; + this.radioclose.Text = "关"; + this.radioclose.UseVisualStyleBackColor = true; + this.radioclose.Click += new System.EventHandler(this.on_off); + // + // radioopen + // + this.radioopen.AutoSize = true; + this.radioopen.Location = new System.Drawing.Point(12, 79); + this.radioopen.Name = "radioopen"; + this.radioopen.Size = new System.Drawing.Size(35, 16); + this.radioopen.TabIndex = 4; + this.radioopen.TabStop = true; + this.radioopen.Text = "开"; + this.radioopen.UseVisualStyleBackColor = true; + this.radioopen.Click += new System.EventHandler(this.on_off); + // + // radioonce + // + this.radioonce.AutoSize = true; + this.radioonce.Location = new System.Drawing.Point(183, 144); + this.radioonce.Name = "radioonce"; + this.radioonce.Size = new System.Drawing.Size(71, 16); + this.radioonce.TabIndex = 18; + this.radioonce.TabStop = true; + this.radioonce.Text = "单次有效"; + this.radioonce.UseVisualStyleBackColor = true; + this.radioonce.Click += new System.EventHandler(this.lifespanClick); + // + // radioalways + // + this.radioalways.AutoSize = true; + this.radioalways.Location = new System.Drawing.Point(106, 144); + this.radioalways.Name = "radioalways"; + this.radioalways.Size = new System.Drawing.Size(71, 16); + this.radioalways.TabIndex = 17; + this.radioalways.TabStop = true; + this.radioalways.Text = "持续有效"; + this.radioalways.UseVisualStyleBackColor = true; + this.radioalways.Click += new System.EventHandler(this.lifespanClick); + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(18, 146); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(77, 12); + this.label12.TabIndex = 16; + this.label12.Text = "参数有效期:"; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(6, 117); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(89, 12); + this.label11.TabIndex = 15; + this.label11.Text = "单次鸣响次数:"; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(210, 119); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(155, 12); + this.label10.TabIndex = 14; + this.label10.Text = "配置单次有效时生效:(1-8) "; + // + // txtBuzzCount + // + this.txtBuzzCount.Location = new System.Drawing.Point(98, 113); + this.txtBuzzCount.Name = "txtBuzzCount"; + this.txtBuzzCount.Size = new System.Drawing.Size(108, 21); + this.txtBuzzCount.TabIndex = 13; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(210, 92); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(119, 12); + this.label8.TabIndex = 12; + this.label8.Text = "ms 范围:200 - 1600"; + // + // txtBuzzinTerval + // + this.txtBuzzinTerval.Location = new System.Drawing.Point(98, 86); + this.txtBuzzinTerval.Name = "txtBuzzinTerval"; + this.txtBuzzinTerval.Size = new System.Drawing.Size(108, 21); + this.txtBuzzinTerval.TabIndex = 11; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(31, 90); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(65, 12); + this.label9.TabIndex = 10; + this.label9.Text = "鸣叫间隔:"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(210, 65); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(101, 12); + this.label6.TabIndex = 9; + this.label6.Text = "ms 范围:11-1000"; + // + // txtBuzzTime + // + this.txtBuzzTime.Location = new System.Drawing.Point(98, 59); + this.txtBuzzTime.Name = "txtBuzzTime"; + this.txtBuzzTime.Size = new System.Drawing.Size(108, 21); + this.txtBuzzTime.TabIndex = 8; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(31, 63); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(65, 12); + this.label7.TabIndex = 7; + this.label7.Text = "鸣叫时间:"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(210, 38); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(113, 12); + this.label5.TabIndex = 6; + this.label5.Text = "Hz 范围:101-10000"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(23, 12); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(77, 12); + this.label4.TabIndex = 3; + this.label4.Text = "蜂鸣器开关:"; + // + // btnBuzz + // + this.btnBuzz.Location = new System.Drawing.Point(131, 172); + this.btnBuzz.Name = "btnBuzz"; + this.btnBuzz.Size = new System.Drawing.Size(75, 23); + this.btnBuzz.TabIndex = 2; + this.btnBuzz.Text = "确定"; + this.btnBuzz.UseVisualStyleBackColor = true; + this.btnBuzz.Click += new System.EventHandler(this.btnBuzz_Click); + // + // txtBuzz + // + this.txtBuzz.Location = new System.Drawing.Point(98, 32); + this.txtBuzz.Name = "txtBuzz"; + this.txtBuzz.Size = new System.Drawing.Size(108, 21); + this.txtBuzz.TabIndex = 1; + // + // lblBuzz + // + this.lblBuzz.AutoSize = true; + this.lblBuzz.Location = new System.Drawing.Point(31, 36); + this.lblBuzz.Name = "lblBuzz"; + this.lblBuzz.Size = new System.Drawing.Size(65, 12); + this.lblBuzz.TabIndex = 0; + this.lblBuzz.Text = "鸣叫频率:"; + // + // tabPage2 + // + this.tabPage2.Controls.Add(this.panel1); + this.tabPage2.Controls.Add(this.cmbLedType); + this.tabPage2.Controls.Add(this.label3); + this.tabPage2.Controls.Add(this.btnLamp); + this.tabPage2.Controls.Add(this.cmbLamp); + this.tabPage2.Controls.Add(this.lblLamp); + this.tabPage2.Location = new System.Drawing.Point(4, 22); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.Padding = new System.Windows.Forms.Padding(3); + this.tabPage2.Size = new System.Drawing.Size(365, 203); + this.tabPage2.TabIndex = 1; + this.tabPage2.Text = "设置指示灯"; + this.tabPage2.UseVisualStyleBackColor = true; + // + // panel1 + // + this.panel1.Controls.Add(this.txtDuration); + this.panel1.Controls.Add(this.groupBox3); + this.panel1.Controls.Add(this.label13); + this.panel1.Controls.Add(this.label16); + this.panel1.Controls.Add(this.label14); + this.panel1.Controls.Add(this.groupBox2); + this.panel1.Controls.Add(this.label15); + this.panel1.Location = new System.Drawing.Point(6, 64); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(356, 100); + this.panel1.TabIndex = 24; + // + // txtDuration + // + this.txtDuration.Location = new System.Drawing.Point(110, 3); + this.txtDuration.Name = "txtDuration"; + this.txtDuration.Size = new System.Drawing.Size(112, 21); + this.txtDuration.TabIndex = 13; + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.radioNo); + this.groupBox3.Controls.Add(this.radioYes); + this.groupBox3.Location = new System.Drawing.Point(111, 65); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(106, 32); + this.groupBox3.TabIndex = 23; + this.groupBox3.TabStop = false; + // + // radioNo + // + this.radioNo.AutoSize = true; + this.radioNo.Location = new System.Drawing.Point(59, 11); + this.radioNo.Name = "radioNo"; + this.radioNo.Size = new System.Drawing.Size(35, 16); + this.radioNo.TabIndex = 5; + this.radioNo.TabStop = true; + this.radioNo.Text = "否"; + this.radioNo.UseVisualStyleBackColor = true; + this.radioNo.Click += new System.EventHandler(this.Yes_No_click); + // + // radioYes + // + this.radioYes.AutoSize = true; + this.radioYes.Location = new System.Drawing.Point(4, 11); + this.radioYes.Name = "radioYes"; + this.radioYes.Size = new System.Drawing.Size(35, 16); + this.radioYes.TabIndex = 4; + this.radioYes.TabStop = true; + this.radioYes.Text = "是"; + this.radioYes.UseVisualStyleBackColor = true; + this.radioYes.Click += new System.EventHandler(this.Yes_No_click); + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(40, 7); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(65, 12); + this.label13.TabIndex = 12; + this.label13.Text = "持续时间:"; + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(44, 78); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(65, 12); + this.label16.TabIndex = 22; + this.label16.Text = "是否持续:"; + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(225, 8); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(95, 12); + this.label14.TabIndex = 14; + this.label14.Text = "取值范围1-254秒"; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.radioStop); + this.groupBox2.Controls.Add(this.radioFiring); + this.groupBox2.Location = new System.Drawing.Point(111, 28); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(106, 32); + this.groupBox2.TabIndex = 21; + this.groupBox2.TabStop = false; + // + // radioStop + // + this.radioStop.AutoSize = true; + this.radioStop.Location = new System.Drawing.Point(59, 11); + this.radioStop.Name = "radioStop"; + this.radioStop.Size = new System.Drawing.Size(47, 16); + this.radioStop.TabIndex = 5; + this.radioStop.TabStop = true; + this.radioStop.Text = "停止"; + this.radioStop.UseVisualStyleBackColor = true; + this.radioStop.Click += new System.EventHandler(this.firing_stop_click); + // + // radioFiring + // + this.radioFiring.AutoSize = true; + this.radioFiring.Location = new System.Drawing.Point(4, 11); + this.radioFiring.Name = "radioFiring"; + this.radioFiring.Size = new System.Drawing.Size(47, 16); + this.radioFiring.TabIndex = 4; + this.radioFiring.TabStop = true; + this.radioFiring.Text = "启动"; + this.radioFiring.UseVisualStyleBackColor = true; + this.radioFiring.Click += new System.EventHandler(this.firing_stop_click); + // + // label15 + // + this.label15.AutoSize = true; + this.label15.Location = new System.Drawing.Point(64, 41); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(41, 12); + this.label15.TabIndex = 20; + this.label15.Text = "状态:"; + // + // cmbLedType + // + this.cmbLedType.FormattingEnabled = true; + this.cmbLedType.Location = new System.Drawing.Point(116, 38); + this.cmbLedType.Name = "cmbLedType"; + this.cmbLedType.Size = new System.Drawing.Size(112, 20); + this.cmbLedType.TabIndex = 4; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(36, 42); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(77, 12); + this.label3.TabIndex = 3; + this.label3.Text = "指示灯类型:"; + // + // btnLamp + // + this.btnLamp.Location = new System.Drawing.Point(116, 172); + this.btnLamp.Name = "btnLamp"; + this.btnLamp.Size = new System.Drawing.Size(75, 23); + this.btnLamp.TabIndex = 2; + this.btnLamp.Text = "确定"; + this.btnLamp.UseVisualStyleBackColor = true; + this.btnLamp.Click += new System.EventHandler(this.btnLamp_Click); + // + // cmbLamp + // + this.cmbLamp.FormattingEnabled = true; + this.cmbLamp.Location = new System.Drawing.Point(116, 9); + this.cmbLamp.Name = "cmbLamp"; + this.cmbLamp.Size = new System.Drawing.Size(112, 20); + this.cmbLamp.TabIndex = 1; + // + // lblLamp + // + this.lblLamp.AutoSize = true; + this.lblLamp.Location = new System.Drawing.Point(36, 13); + this.lblLamp.Name = "lblLamp"; + this.lblLamp.Size = new System.Drawing.Size(77, 12); + this.lblLamp.TabIndex = 0; + this.lblLamp.Text = "指示灯状态:"; + // + // tabPage1 + // + this.tabPage1.BackColor = System.Drawing.Color.Transparent; + this.tabPage1.Controls.Add(this.btnSetName); + this.tabPage1.Controls.Add(this.txtSetName); + this.tabPage1.Controls.Add(this.lblSetname); + this.tabPage1.Location = new System.Drawing.Point(4, 22); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Padding = new System.Windows.Forms.Padding(3); + this.tabPage1.Size = new System.Drawing.Size(365, 203); + this.tabPage1.TabIndex = 0; + this.tabPage1.Text = "设置笔名"; + // + // btnSetName + // + this.btnSetName.Location = new System.Drawing.Point(124, 95); + this.btnSetName.Name = "btnSetName"; + this.btnSetName.Size = new System.Drawing.Size(75, 23); + this.btnSetName.TabIndex = 2; + this.btnSetName.Text = "确定"; + this.btnSetName.UseVisualStyleBackColor = true; + this.btnSetName.Click += new System.EventHandler(this.btnSetName_Click); + // + // txtSetName + // + this.txtSetName.Location = new System.Drawing.Point(71, 47); + this.txtSetName.Name = "txtSetName"; + this.txtSetName.Size = new System.Drawing.Size(211, 21); + this.txtSetName.TabIndex = 1; + // + // lblSetname + // + this.lblSetname.AutoSize = true; + this.lblSetname.Location = new System.Drawing.Point(29, 51); + this.lblSetname.Name = "lblSetname"; + this.lblSetname.Size = new System.Drawing.Size(41, 12); + this.lblSetname.TabIndex = 0; + this.lblSetname.Text = "笔名:"; + // + // transparentTabControl1 + // + this.transparentTabControl1.Controls.Add(this.tabPage1); + this.transparentTabControl1.Controls.Add(this.tabPage2); + this.transparentTabControl1.Controls.Add(this.tabPage3); + this.transparentTabControl1.Controls.Add(this.tabPage4); + this.transparentTabControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.transparentTabControl1.Location = new System.Drawing.Point(0, 0); + this.transparentTabControl1.Name = "transparentTabControl1"; + this.transparentTabControl1.SelectedIndex = 0; + this.transparentTabControl1.Size = new System.Drawing.Size(373, 229); + this.transparentTabControl1.TabIndex = 0; + // + // FrmSetPenName + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.GradientActiveCaption; + this.ClientSize = new System.Drawing.Size(373, 229); + this.Controls.Add(this.transparentTabControl1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "FrmSetPenName"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Load += new System.EventHandler(this.FrmSetPenName_Load); + this.tabPage4.ResumeLayout(false); + this.tabPage4.PerformLayout(); + this.tabPage3.ResumeLayout(false); + this.tabPage3.PerformLayout(); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.tabPage2.ResumeLayout(false); + this.tabPage2.PerformLayout(); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.groupBox3.ResumeLayout(false); + this.groupBox3.PerformLayout(); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.tabPage1.ResumeLayout(false); + this.tabPage1.PerformLayout(); + this.transparentTabControl1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TabPage tabPage4; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox ShutdownTime; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TabPage tabPage3; + private System.Windows.Forms.Button btnBuzz; + private System.Windows.Forms.TextBox txtBuzz; + private System.Windows.Forms.Label lblBuzz; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.Button btnLamp; + private System.Windows.Forms.ComboBox cmbLamp; + private System.Windows.Forms.Label lblLamp; + private System.Windows.Forms.TabPage tabPage1; + private System.Windows.Forms.Button btnSetName; + private System.Windows.Forms.TextBox txtSetName; + private System.Windows.Forms.Label lblSetname; + private TransparentTabControl transparentTabControl1; + private System.Windows.Forms.ComboBox cmbLedType; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.RadioButton radioonce; + private System.Windows.Forms.RadioButton radioalways; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.TextBox txtBuzzCount; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.TextBox txtBuzzinTerval; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.TextBox txtBuzzTime; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.RadioButton radioclose; + private System.Windows.Forms.RadioButton radioopen; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.TextBox txtDuration; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.RadioButton radioNo; + private System.Windows.Forms.RadioButton radioYes; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.Label label16; + private System.Windows.Forms.Label label14; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.RadioButton radioStop; + private System.Windows.Forms.RadioButton radioFiring; + private System.Windows.Forms.Label label15; + } +} \ No newline at end of file diff --git a/FrmSetPenName.cs b/FrmSetPenName.cs new file mode 100644 index 0000000..cb5dec9 --- /dev/null +++ b/FrmSetPenName.cs @@ -0,0 +1,209 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace WindowsFormsApp +{ + public partial class FrmSetPenName : Form + { + string EventName = string.Empty; + string PenSerial = string.Empty; + int onoff = 1; + int once_valid = 0; + int is_enable = 1; + int is_contd = 1; + + public uint once_buzz_count; + public delegate void btnSpeedChangeClickHandle(string name,string penserial, string speedStr,string speedType,int interval=0, int buzzcount=0,int onoff=0,int oncevalid=0); + public event btnSpeedChangeClickHandle SpeedChangeClickEvent; + public FrmSetPenName(string name,string penserial) + { + InitializeComponent(); + EventName = name; + PenSerial = penserial; + } + + + private void FrmSetPenName_Load(object sender, EventArgs e) + { + SetDouble(transparentTabControl1); + transparentTabControl1.MakeTransparent(); + transparentTabControl1.Visible = false; + + if (EventName == "SetPenName") + { + transparentTabControl1.SelectedIndex = 0; + } + else if (EventName == "SetPenLed"|| EventName == "SetPenLedTemporary") + { + if (EventName == "SetPenLed") { + panel1.Visible = false; + } + radioFiring.Checked = true; + radioYes.Checked = true; + + transparentTabControl1.SelectedIndex = 1; + var list = new List(); + list.Add(new LED_STATE { ID = "BLUE_LIGHT_ON", Name = "蓝灯常亮" }); + list.Add(new LED_STATE { ID = "BLUE_LIGHT_FLASHING", Name = "蓝灯闪烁" }); + list.Add(new LED_STATE { ID = "GREEN_LIGHT_ON", Name = "绿灯常亮" }); + list.Add(new LED_STATE { ID = "GREEN_LIGHT_FLASHING", Name = "绿灯闪烁" }); + list.Add(new LED_STATE { ID = "RED_LIGHT_ON", Name = "红灯常亮" }); + list.Add(new LED_STATE { ID = "RED_LIGHT_FLASHING", Name = "红灯闪烁" }); + list.Add(new LED_STATE { ID = "YELLOW_LIGHT_ON", Name = "黄灯常亮" }); + list.Add(new LED_STATE { ID = "YELLOW_LIGHT_FLASHING", Name = "黄灯闪烁" }); + list.Add(new LED_STATE { ID = "PINK_LIGHT_ON", Name = "粉红灯常亮" }); + list.Add(new LED_STATE { ID = "PINK_LIGHT_FLASHING", Name = "粉红灯闪烁" }); + list.Add(new LED_STATE { ID = "LIGHT_BLUE_LIGHT_ON", Name = "浅蓝灯常亮" }); + list.Add(new LED_STATE { ID = "LIGHT_BLUE_LIGHT_FLASHING", Name = "浅蓝灯闪烁" }); + list.Add(new LED_STATE { ID = "WHITE_LIGHT_ON", Name = "白灯常亮" }); + list.Add(new LED_STATE { ID = "WHITE_LIGHT_FLASHING", Name = "白灯闪烁" }); + + cmbLamp.ValueMember = "ID"; + cmbLamp.DisplayMember = "Name"; + cmbLamp.DataSource = list; + cmbLamp.SelectedIndex = 0; + + var listtype = new List(); + listtype.Add(new LED_STATE { ID = "POWER_ON_LED", Name = "上电默认状态" }); + listtype.Add(new LED_STATE { ID = "BLE_CONNECT_LED", Name = "蓝牙连接状态" }); + listtype.Add(new LED_STATE { ID = "LOW_POWER_WARNING_LED", Name = "低电量警告状态" }); + listtype.Add(new LED_STATE { ID = "CHARGING_LED", Name = "充电状态" }); + listtype.Add(new LED_STATE { ID = "STORAGE_FULL_LED", Name = "存储满状态" }); + cmbLedType.ValueMember = "ID"; + cmbLedType.DisplayMember = "Name"; + cmbLedType.DataSource = listtype; + cmbLedType.SelectedIndex = 0; + + } + //else if () { + + //} + else if (EventName == "SetdownTime") + { + transparentTabControl1.SelectedIndex = 3; + } + else if (EventName == "SetPenBuzzer") + { + transparentTabControl1.SelectedIndex = 2; + radioopen.Checked = true; + radioalways.Checked = true; + } + } + public void SetDouble(Control contorl) + { + contorl.GetType().GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(contorl, true, null); + } + + private void btnSetName_Click(object sender, EventArgs e) + { + SpeedChangeClickEvent(EventName, PenSerial, txtSetName.Text.Trim(),""); + this.Close(); + } + //设置指示灯 + private void btnLamp_Click(object sender, EventArgs e) + { + SpeedChangeClickEvent(EventName, PenSerial, cmbLamp.SelectedValue.ToString(), cmbLedType.SelectedValue.ToString(), is_enable, is_contd, Convert.ToInt32(txtDuration.Text.Trim())); + this.Close(); + } + + private void button1_Click(object sender, EventArgs e) + { + SpeedChangeClickEvent(EventName, PenSerial, ShutdownTime.Text.Trim(), ""); + this.Close(); + } + + private void btnBuzz_Click(object sender, EventArgs e) + { + SpeedChangeClickEvent(EventName, PenSerial, txtBuzz.Text.Trim(), txtBuzzTime.Text.Trim(),Convert.ToInt32(txtBuzzinTerval.Text.Trim()),Convert.ToInt32(txtBuzzCount.Text.Trim()),onoff, once_valid); + this.Close(); + + } + + private void on_off(object sender, EventArgs e) + { + //把object类型,赋值为当前按下的控件 + RadioButton radioButtonClick = sender as RadioButton; + if (radioButtonClick.Checked) + { + switch (radioButtonClick.Name) + { + case "radioopen": + onoff=1; + break; + + case "radioclose": + onoff=0; + break; + } + } + } + + private void lifespanClick(object sender, EventArgs e) + { + //把object类型,赋值为当前按下的控件 + RadioButton radioButtonClick = sender as RadioButton; + if (radioButtonClick.Checked) + { + switch (radioButtonClick.Name) + { + case "radioalways": + once_valid = 0; + break; + + case "radioonce": + once_valid = 1; + break; + } + } + } + + private void firing_stop_click(object sender, EventArgs e) + { + //把object类型,赋值为当前按下的控件 + RadioButton radioButtonClick = sender as RadioButton; + if (radioButtonClick.Checked) + { + switch (radioButtonClick.Name) + { + case "radioFiring": + is_enable = 1; + break; + + case "radioStop": + is_enable = 0; + break; + } + } + } + + private void Yes_No_click(object sender, EventArgs e) + { + //把object类型,赋值为当前按下的控件 + RadioButton radioButtonClick = sender as RadioButton; + if (radioButtonClick.Checked) + { + switch (radioButtonClick.Name) + { + case "radioYes": + is_contd = 1; + break; + + case "radioNo": + is_contd = 0; + break; + } + } + } + } + public class LED_STATE + { + public string ID { get; set; } + public string Name { get; set; } + } +} diff --git a/FrmSetPenName.resx b/FrmSetPenName.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FrmSetPenName.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Interaction_DigitalPenAP_Csharp_form_demo.csproj b/Interaction_DigitalPenAP_Csharp_form_demo.csproj new file mode 100644 index 0000000..962b448 --- /dev/null +++ b/Interaction_DigitalPenAP_Csharp_form_demo.csproj @@ -0,0 +1,166 @@ + + + + + Debug + AnyCPU + {256C41C1-8E46-43B2-9289-D50EBCAB51D5} + WinExe + WindowsFormsApp + WindowsFormsApp + v4.8 + 512 + + + + + + true + bin\Debug\ + DEBUG;TRACE + full + x86 + prompt + MinimumRecommendedRules.ruleset + false + + + bin\Release\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + false + + + + ..\packages\Dapper.2.1.66\lib\net461\Dapper.dll + + + ..\packages\Fleck.1.2.0\lib\net45\Fleck.dll + + + ..\packages\Microsoft.Bcl.AsyncInterfaces.10.0.0-rc.2.25502.107\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll + + + ..\packages\Newtonsoft.Json.13.0.3\lib\net40\Newtonsoft.Json.dll + + + + ..\packages\System.Buffers.4.6.1\lib\net462\System.Buffers.dll + + + + ..\packages\System.IO.Pipelines.10.0.0-rc.2.25502.107\lib\net462\System.IO.Pipelines.dll + + + ..\packages\System.Memory.4.6.3\lib\net462\System.Memory.dll + + + + + ..\packages\System.Numerics.Vectors.4.6.1\lib\net462\System.Numerics.Vectors.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.6.1.2\lib\net462\System.Runtime.CompilerServices.Unsafe.dll + + + ..\packages\System.Text.Encodings.Web.10.0.0-rc.2.25502.107\lib\net462\System.Text.Encodings.Web.dll + + + ..\packages\System.Text.Json.10.0.0-rc.2.25502.107\lib\net462\System.Text.Json.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.6.3\lib\net462\System.Threading.Tasks.Extensions.dll + + + + + + + + + + + False + ..\..\..\bin\c_sharp\4.0\TStudyDigitalPen.AP.dll + + + + + + + + Form + + + Form1.cs + + + Form + + + FrmSetPenName.cs + + + + UserControl + + + PenDraw.cs + + + + + Component + + + Form1.cs + + + FrmSetPenName.cs + + + PenDraw.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + copy "..\..\..\..\..\bin\vc\TStudyDigitalPenLic.dll" "$(TargetDir)" + +copy "..\..\..\..\..\bin\vc\TStudyDigitalPenAP.dll" "$(TargetDir)" + + + + + 这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。 + + + + \ No newline at end of file diff --git a/MyLicense.cs b/MyLicense.cs new file mode 100644 index 0000000..0c4260e --- /dev/null +++ b/MyLicense.cs @@ -0,0 +1,16 @@ +namespace certificates +{ + public sealed class MyLicense + + { + public static sbyte[] Bytes + { + get + { + return BYTES; + } + } + private static readonly sbyte[] BYTES = new sbyte[]{ + 60, 63, 120, 109, 108, 32, 118, 101, 114, 115, 105, 111, 110, 61, 34, 49, 46, 48, 34, 32, 101, 110, 99, 111, 100, 105, 110, 103, 61, 34, 117, 116, 102, 45, 56, 34, 32, 63, 62, 10, 60, 108, 105, 99, 101, 110, 115, 101, 32, 118, 101, 114, 115, 105, 111, 110, 61, 34, 118, 49, 46, 48, 34, 32, 105, 100, 61, 34, 54, 56, 50, 54, 97, 56, 52, 53, 49, 52, 102, 53, 101, 55, 98, 99, 48, 50, 49, 54, 97, 57, 48, 101, 34, 62, 10, 32, 32, 32, 32, 60, 111, 119, 110, 101, 114, 62, -27, -116, -105, -28, -70, -84, -26, -117, -109, -26, -128, -99, -27, -66, -73, -25, -89, -111, -26, -118, -128, -26, -100, -119, -23, -103, -112, -27, -123, -84, -27, -113, -72, 60, 47, 111, 119, 110, 101, 114, 62, 10, 32, 32, 32, 32, 60, 117, 115, 101, 114, 62, -26, -99, -88, -26, -103, -88, 60, 47, 117, 115, 101, 114, 62, 10, 32, 32, 32, 32, 60, 101, 109, 97, 105, 108, 62, 121, 97, 110, 103, 99, 64, 111, 110, 101, 116, 97, 114, 103, 101, 116, 46, 99, 110, 60, 47, 101, 109, 97, 105, 108, 62, 10, 32, 32, 32, 32, 60, 98, 117, 110, 100, 108, 101, 73, 100, 62, 54, 56, 50, 54, 97, 56, 51, 100, 49, 52, 102, 53, 101, 55, 98, 99, 48, 50, 49, 54, 97, 57, 48, 99, 60, 47, 98, 117, 110, 100, 108, 101, 73, 100, 62, 10, 32, 32, 32, 32, 60, 97, 112, 112, 78, 97, 109, 101, 62, -23, -121, -115, -27, -70, -122, -26, -96, -111, -28, -70, -70, -26, -107, -103, -24, -126, -78, 60, 47, 97, 112, 112, 78, 97, 109, 101, 62, 10, 32, 32, 32, 32, 60, 100, 114, 105, 118, 101, 114, 84, 121, 112, 101, 115, 62, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 100, 114, 105, 118, 101, 114, 84, 121, 112, 101, 62, 65, 80, 60, 47, 100, 114, 105, 118, 101, 114, 84, 121, 112, 101, 62, 10, 32, 32, 32, 32, 60, 47, 100, 114, 105, 118, 101, 114, 84, 121, 112, 101, 115, 62, 10, 32, 32, 32, 32, 60, 112, 101, 110, 84, 121, 112, 101, 115, 62, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 112, 101, 110, 84, 121, 112, 101, 32, 112, 101, 110, 78, 97, 109, 101, 61, 34, 65, 68, 80, 95, 49, 48, 49, 34, 32, 73, 68, 61, 34, 53, 34, 32, 47, 62, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 112, 101, 110, 84, 121, 112, 101, 32, 112, 101, 110, 78, 97, 109, 101, 61, 34, 69, 78, 95, 65, 68, 80, 95, 54, 48, 49, 34, 32, 73, 68, 61, 34, 54, 34, 32, 47, 62, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 112, 101, 110, 84, 121, 112, 101, 32, 112, 101, 110, 78, 97, 109, 101, 61, 34, 69, 78, 95, 65, 80, 68, 95, 54, 49, 49, 34, 32, 73, 68, 61, 34, 55, 34, 32, 47, 62, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 112, 101, 110, 84, 121, 112, 101, 32, 112, 101, 110, 78, 97, 109, 101, 61, 34, 84, 69, 95, 51, 48, 49, 34, 32, 73, 68, 61, 34, 56, 34, 32, 47, 62, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 112, 101, 110, 84, 121, 112, 101, 32, 112, 101, 110, 78, 97, 109, 101, 61, 34, 84, 69, 95, 51, 48, 50, 34, 32, 73, 68, 61, 34, 57, 34, 32, 47, 62, 10, 32, 32, 32, 32, 32, 32, 32, 32, 60, 112, 101, 110, 84, 121, 112, 101, 32, 112, 101, 110, 78, 97, 109, 101, 61, 34, 84, 68, 95, 49, 48, 50, 34, 32, 73, 68, 61, 34, 49, 48, 34, 32, 47, 62, 10, 32, 32, 32, 32, 60, 47, 112, 101, 110, 84, 121, 112, 101, 115, 62, 10, 32, 32, 32, 32, 60, 108, 105, 99, 101, 110, 115, 101, 100, 68, 97, 116, 101, 62, 49, 57, 55, 48, 48, 49, 48, 49, 60, 47, 108, 105, 99, 101, 110, 115, 101, 100, 68, 97, 116, 101, 62, 10, 32, 32, 32, 32, 60, 101, 120, 112, 105, 114, 101, 100, 68, 97, 116, 101, 62, 57, 57, 57, 57, 49, 50, 51, 49, 60, 47, 101, 120, 112, 105, 114, 101, 100, 68, 97, 116, 101, 62, 10, 32, 32, 32, 32, 60, 97, 117, 116, 104, 73, 100, 62, 54, 56, 50, 54, 97, 56, 51, 100, 49, 52, 102, 53, 101, 55, 98, 99, 48, 50, 49, 54, 97, 57, 48, 100, 60, 47, 97, 117, 116, 104, 73, 100, 62, 10, 32, 32, 32, 32, 60, 115, 101, 99, 114, 101, 116, 62, 90, 87, 120, 117, 98, 109, 119, 113, 98, 71, 82, 50, 100, 51, 111, 109, 98, 87, 107, 53, 88, 109, 107, 53, 99, 84, 86, 54, 97, 87, 49, 120, 90, 106, 86, 43, 75, 51, 69, 122, 73, 88, 73, 61, 60, 47, 115, 101, 99, 114, 101, 116, 62, 10, 32, 32, 32, 32, 60, 112, 97, 103, 101, 65, 100, 100, 114, 101, 115, 115, 32, 115, 116, 97, 114, 116, 61, 34, 55, 48, 46, 48, 46, 49, 55, 46, 48, 34, 32, 101, 110, 100, 61, 34, 55, 48, 46, 48, 46, 49, 55, 46, 49, 57, 34, 32, 112, 97, 103, 101, 67, 111, 117, 110, 116, 61, 34, 50, 48, 34, 32, 47, 62, 10, 32, 32, 32, 32, 60, 97, 117, 116, 104, 111, 114, 105, 122, 101, 114, 32, 99, 111, 109, 112, 97, 110, 121, 61, 34, -27, -116, -105, -28, -70, -84, -26, -117, -109, -26, -128, -99, -27, -66, -73, -25, -89, -111, -26, -118, -128, -26, -100, -119, -23, -103, -112, -27, -123, -84, -27, -113, -72, 34, 32, 119, 101, 98, 115, 105, 116, 101, 61, 34, 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 116, 115, 116, 117, 100, 121, 46, 99, 111, 109, 46, 99, 110, 34, 32, 47, 62, 10, 32, 32, 32, 32, 60, 115, 105, 103, 110, 97, 116, 117, 114, 101, 32, 118, 97, 108, 117, 101, 61, 34, 52, 55, 66, 50, 68, 55, 70, 56, 68, 51, 55, 49, 48, 68, 65, 69, 54, 53, 52, 68, 51, 69, 66, 53, 52, 67, 70, 51, 67, 57, 54, 67, 49, 66, 49, 50, 65, 66, 70, 53, 65, 49, 65, 65, 69, 70, 55, 65, 49, 49, 56, 54, 48, 52, 54, 70, 65, 49, 68, 48, 69, 70, 57, 49, 67, 69, 49, 70, 65, 57, 49, 52, 68, 50, 69, 52, 68, 50, 68, 49, 68, 51, 68, 66, 70, 66, 50, 52, 51, 70, 51, 53, 70, 55, 70, 52, 55, 67, 68, 65, 69, 53, 70, 48, 70, 65, 69, 56, 66, 54, 53, 69, 48, 53, 55, 65, 54, 56, 56, 48, 53, 67, 51, 50, 51, 65, 48, 57, 67, 51, 49, 69, 54, 68, 69, 68, 53, 52, 56, 57, 52, 55, 55, 65, 66, 67, 66, 49, 54, 48, 70, 54, 67, 51, 66, 70, 67, 68, 66, 66, 57, 51, 51, 55, 65, 65, 49, 55, 53, 65, 67, 66, 70, 70, 49, 70, 52, 70, 51, 66, 49, 54, 51, 57, 57, 69, 52, 52, 70, 57, 48, 49, 57, 52, 66, 65, 70, 67, 53, 67, 57, 70, 66, 50, 49, 65, 69, 52, 65, 66, 54, 50, 51, 67, 57, 52, 49, 67, 67, 55, 50, 50, 54, 69, 69, 57, 65, 69, 70, 54, 53, 51, 69, 53, 70, 56, 49, 54, 56, 69, 54, 52, 48, 54, 52, 48, 66, 50, 57, 52, 67, 52, 49, 49, 67, 70, 34, 32, 47, 62, 10, 60, 47, 108, 105, 99, 101, 110, 115, 101, 62, 10 }; + } +} \ No newline at end of file diff --git a/PenDraw.Designer.cs b/PenDraw.Designer.cs new file mode 100644 index 0000000..a0999ed --- /dev/null +++ b/PenDraw.Designer.cs @@ -0,0 +1,61 @@ +namespace WindowsFormsApp +{ + partial class PenDraw + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.pictureBox = new System.Windows.Forms.PictureBox(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).BeginInit(); + this.SuspendLayout(); + // + // pictureBox + // + this.pictureBox.Dock = System.Windows.Forms.DockStyle.Fill; + this.pictureBox.Location = new System.Drawing.Point(0, 0); + this.pictureBox.Name = "pictureBox"; + this.pictureBox.Size = new System.Drawing.Size(280, 396); + this.pictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBox.TabIndex = 0; + this.pictureBox.TabStop = false; + // + // PenDraw + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.pictureBox); + this.Name = "PenDraw"; + this.Size = new System.Drawing.Size(280, 396); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.PictureBox pictureBox; + } +} diff --git a/PenDraw.cs b/PenDraw.cs new file mode 100644 index 0000000..db1a7b3 --- /dev/null +++ b/PenDraw.cs @@ -0,0 +1,131 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using System.Drawing.Drawing2D; +using System.Diagnostics; + +namespace WindowsFormsApp +{ + public partial class PenDraw : UserControl + { + //GDI+ + Graphics DrawGraphic = null; + //笔画坐标点 + private List Stroke=new List(); + //定义画布高792 + private const int IMG_HEIGHT = 792; + //定义画布宽560 + private const int IMG_WIDHT = 560; + //本示例适用于A4点阵纸书写,相关尺寸根据A4点阵纸进行了缩放 + //不同尺寸点阵纸点阵宽高尺寸计算方法为:纸张物理尺寸(毫米)/0.3 *8,详见 开发必读.pdf 文档 + //A4点阵纸点阵高度 + private const int A4_DOT_HEIGHT = 7920; + //A4点阵纸点阵宽度 + + private const int A4_DOT_WIDTH = 5600; + //序列号 + private string PenSerial = string.Empty; + public PenDraw(string penSerial) + { + PenSerial = penSerial; + InitializeComponent(); + InitDraw(); + this.Width = 280; + this.Height = 396; + } + private void InitDraw() + { + Bitmap bitmap = new Bitmap(IMG_WIDHT, IMG_HEIGHT); + DrawGraphic = Graphics.FromImage(bitmap); + double scale = IMG_HEIGHT * 1.0 / A4_DOT_HEIGHT; + DrawGraphic.FillRectangle(Brushes.AliceBlue, 0, 0, IMG_WIDHT, IMG_HEIGHT); + + DrawGraphic.DrawString(PenSerial, new Font("宋体", 45), Brushes.Black, 0, 0); + pictureBox.Image = bitmap; + DrawGraphic.ScaleTransform((float)scale, (float)scale); + DrawGraphic.SmoothingMode = SmoothingMode.AntiAlias; + } + public void OnPenDown(ulong time, string penSerial, int penType) + { + + } + //抬笔后将坐标一次性画出 + public void OnPenUp(ulong time, string penSerial, int penType) + { + if (this.InvokeRequired) + { + Action action = new Action(OnPenUp); + this.Invoke(action, new object[] { time, penSerial, penType }); + } + else + { + + int leftPoints = Stroke.Count % 3; + if (0 != leftPoints) + { + int from = Stroke.Count - leftPoints - 1; + if (from < 0) + from = 0; + int to = Stroke.Count - 1; + DrawCoordinates(from, to); + } + Stroke.Clear(); + } + } + private void DrawCoordinates(int from, int to) + { + if (pictureBox.InvokeRequired) + { + Action action = new Action(DrawCoordinates); + this.Invoke(action, new object[] { from, to }); + } + else + { + Point[] points = new Point[to - from + 1]; + + int l = Stroke[from].X, r = Stroke[from].X, t = Stroke[from].Y, b = Stroke[to].Y; + for (int i = from; i <= to; i++) + { + points[i - from] = Stroke[i]; + l = Math.Min(l, Stroke[i].X); + r = Math.Max(r, Stroke[i].X); + t = Math.Min(t, Stroke[i].Y); + b = Math.Max(b, Stroke[i].Y); + } + + Pen pen = new Pen(new SolidBrush(Color.Blue), 3); + if (points.Length == 1) + DrawGraphic.DrawLine(pen, points[0], points[0]); + else if (points.Length == 2) + DrawGraphic.DrawLine(pen, points[0], points[1]); + else + DrawGraphic.DrawCurve(pen, points); + pen.Dispose(); + l = (int)(1.0 * l / A4_DOT_WIDTH * pictureBox.Width) - 5; + r = (int)(1.0 * r / A4_DOT_WIDTH * pictureBox.Width) + 5; + t = (int)(1.0 * t / A4_DOT_HEIGHT * pictureBox.Height) - 5; + b = (int)(1.0 * b / A4_DOT_HEIGHT * pictureBox.Height) + 5; + + Rectangle rec = new Rectangle(l, t, r - l, b - t); + pictureBox.Invalidate(rec); + } + } + public void OnPenCoordinate(ulong time, string penSerial, int penType, string pageSerial, int cx, int cy, ushort force) + { + Stroke.Add(new Point(cx, cy)); + if (Stroke.Count % 3 == 0) + { + int from = Stroke.Count - 3 - 1; + if (from < 0) + from = 0; + int to = Stroke.Count - 1; + DrawCoordinates(from, to); + } + } + } +} diff --git a/PenDraw.resx b/PenDraw.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/PenDraw.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..e59d805 --- /dev/null +++ b/Program.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; + +namespace WindowsFormsApp +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..95fc97f --- /dev/null +++ b/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("WindowsFormsApp")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("WindowsFormsApp")] +[assembly: AssemblyCopyright("Copyright © 2019")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("256c41c1-8e46-43b2-9289-d50ebcab51d5")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs new file mode 100644 index 0000000..f390dce --- /dev/null +++ b/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace WindowsFormsApp.Properties { + using System; + + + /// + /// 一个强类型的资源类,用于查找本地化的字符串等。 + /// + // 此类是由 StronglyTypedResourceBuilder + // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + // (以 /str 作为命令选项),或重新生成 VS 项目。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// 返回此类使用的缓存的 ResourceManager 实例。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WindowsFormsApp.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 重写当前线程的 CurrentUICulture 属性,对 + /// 使用此强类型资源类的所有资源查找执行重写。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/Properties/Resources.resx b/Properties/Resources.resx new file mode 100644 index 0000000..58c63c8 --- /dev/null +++ b/Properties/Resources.resx @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + \ No newline at end of file diff --git a/Properties/Settings.Designer.cs b/Properties/Settings.Designer.cs new file mode 100644 index 0000000..4b50eed --- /dev/null +++ b/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace WindowsFormsApp.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.13.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/Properties/Settings.settings b/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/TransparentTabControl.cs b/TransparentTabControl.cs new file mode 100644 index 0000000..d5c0cc1 --- /dev/null +++ b/TransparentTabControl.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace WindowsFormsApp +{ + public class TransparentTabControl : TabControl + { + private List pages = new List(); + + public void MakeTransparent() + { + if (TabCount == 0) throw new InvalidOperationException(); + var height = GetTabRect(0).Bottom; + // Move controls to panels + for (int tab = 0; tab < TabCount; ++tab) + { + var page = new Panel + { + Left = this.Left, + Top = this.Top + height, + Width = this.Width, + Height = this.Height - height, + BackColor = Color.Transparent, + Visible = tab == this.SelectedIndex + }; + for (int ix = TabPages[tab].Controls.Count - 1; ix >= 0; --ix) + { + TabPages[tab].Controls[ix].Parent = page; + } + pages.Add(page); + this.Parent.Controls.Add(page); + } + this.Height = height /* + 1 */; + } + + protected override void OnSelectedIndexChanged(EventArgs e) + { + base.OnSelectedIndexChanged(e); + for (int tab = 0; tab < pages.Count; ++tab) + { + pages[tab].Visible = tab == SelectedIndex; + } + } + + protected override void Dispose(bool disposing) + { + if (disposing) foreach (var page in pages) page.Dispose(); + base.Dispose(disposing); + } + protected override CreateParams CreateParams + { + get + { + var parms = base.CreateParams; + parms.Style &= ~0x02000000; // Turn off WS_CLIPCHILDREN + return parms; + } + } + } +} diff --git a/app.config b/app.config new file mode 100644 index 0000000..6dd81eb --- /dev/null +++ b/app.config @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/bin/Debug/Dapper.dll b/bin/Debug/Dapper.dll new file mode 100644 index 0000000..c29448a Binary files /dev/null and b/bin/Debug/Dapper.dll differ diff --git a/bin/Debug/Dapper.xml b/bin/Debug/Dapper.xml new file mode 100644 index 0000000..306c6af --- /dev/null +++ b/bin/Debug/Dapper.xml @@ -0,0 +1,2918 @@ + + + + Dapper + + + + + Represents the key aspects of a sql operation + + + + + The command (sql or a stored-procedure name) to execute + + + + + The parameters associated with the command + + + + + The active transaction for the command + + + + + The effective timeout for the command + + + + + The type of command that the command-text represents + + + + + Should data be buffered before returning? + + + + + Should the plan for this query be cached? + + + + + Additional state flags against this command + + + + + Can async queries be pipelined? + + + + + Initialize the command definition + + The text for this command. + The parameters for this command. + The transaction for this command to participate in. + The timeout (in seconds) for this command. + The for this command. + The behavior flags for this command. + The cancellation token for this command. + + + + For asynchronous operations, the cancellation-token + + + + + Additional state flags that control command behaviour + + + + + No additional flags + + + + + Should data be buffered before returning? + + + + + Can async queries be pipelined? + + + + + Should the plan cache be bypassed? + + + + + Implements custom property mapping by user provided criteria (usually presence of some custom attribute with column to member mapping) + + + + + Creates custom property mapping + + Target entity type + Property selector based on target type and DataReader column name + + + + Always returns default constructor + + DataReader column names + DataReader column types + Default constructor + + + + Always returns null + + + + + + Not implemented as far as default constructor used for all cases + + + + + + + + Returns property based on selector strategy + + DataReader column name + Property member map + + + + This class represents a SQL string, it can be used if you need to denote your parameter is a Char vs VarChar vs nVarChar vs nChar + + + + + Default value for IsAnsi. + + + + + A value to set the default value of strings + going through Dapper. Default is 4000, any value larger than this + field will not have the default value applied. + + + + + Create a new DbString + + + + + Create a new DbString + + + + + Ansi vs Unicode + + + + + Fixed length + + + + + Length of the string -1 for max + + + + + The value of the string + + + + + Gets a string representation of this DbString. + + + + + Add the parameter to the command... internal use only + + + + + + + Represents default type mapping strategy used by Dapper + + + + + Creates default type map + + Entity type + + + + Finds best constructor + + DataReader column names + DataReader column types + Matching constructor or default one + + + + Returns the constructor, if any, that has the ExplicitConstructorAttribute on it. + + + + + Gets mapping for constructor parameter + + Constructor to resolve + DataReader column name + Mapping implementation + + + + Gets member mapping for column + + DataReader column name + Mapping implementation + + + + Should column names like User_Id be allowed to match properties/fields like UserId ? + + + + + The settable properties for this typemap + + + + + A bag of parameters that can be passed to the Dapper Query and Execute methods + + + + + construct a dynamic parameter bag + + + + + construct a dynamic parameter bag + + can be an anonymous type or a DynamicParameters bag + + + + Append a whole object full of params to the dynamic + EG: AddDynamicParams(new {A = 1, B = 2}) // will add property A and B to the dynamic + + + + + + Add a parameter to this dynamic parameter list. + + The name of the parameter. + The value of the parameter. + The type of the parameter. + The in or out direction of the parameter. + The size of the parameter. + + + + Add a parameter to this dynamic parameter list. + + The name of the parameter. + The value of the parameter. + The type of the parameter. + The in or out direction of the parameter. + The size of the parameter. + The precision of the parameter. + The scale of the parameter. + + + + If true, the command-text is inspected and only values that are clearly used are included on the connection + + + + + Add all the parameters needed to the command just before it executes + + The raw command prior to execution + Information about the query + + + + All the names of the param in the bag, use Get to yank them out + + + + + Get the value of a parameter + + + + The value, note DBNull.Value is not returned, instead the value is returned as null + + + + Allows you to automatically populate a target property/field from output parameters. It actually + creates an InputOutput parameter, so you can still pass data in. + + + The object whose property/field you wish to populate. + A MemberExpression targeting a property/field of the target (or descendant thereof.) + + The size to set on the parameter. Defaults to 0, or DbString.DefaultLength in case of strings. + The DynamicParameters instance + + + + Tell Dapper to use an explicit constructor, passing nulls or 0s for all parameters + + + Usage on methods is limited to the usage with Dapper.AOT (https://github.com/DapperLib/DapperAOT) + + + + + Creates a with a less specific generic parameter that perfectly mirrors the + state of the specified . + + + + + Handles variances in features per DBMS + + + + + Gets the feature set based on the passed connection + + The connection to get supported features for. + + + + True if the db supports array columns e.g. Postgresql + + + + + Represents simple member map for one of target parameter or property or field to source DataReader column + + + + + Creates instance for simple property mapping + + DataReader column name + Target property + + + + Creates instance for simple field mapping + + DataReader column name + Target property + + + + Creates instance for simple constructor parameter mapping + + DataReader column name + Target constructor parameter + + + + DataReader column name + + + + + Target member type + + + + + Target property + + + + + Target field + + + + + Target constructor parameter + + + + + Used to pass a IEnumerable<SqlDataRecord> as a SqlDataRecordListTVPParameter + + + + + Create a new instance of . + + The data records to convert into TVPs. + The parameter type name. + + + + Dapper, a light weight object mapper for ADO.NET + + + + + Execute a query asynchronously using Task. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a query asynchronously using Task. + + The connection to query on. + The command used to query on this connection. + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The command used to query on this connection. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The command used to query on this connection. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The command used to query on this connection. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The command used to query on this connection. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a query asynchronously using Task. + + The type of results to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of ; if a basic type (int, string, etc) is queried then the data from the first column is assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Execute a single-row query asynchronously using Task. + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The type to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + + + Execute a query asynchronously using Task. + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + + + Execute a query asynchronously using Task. + + The type to return. + The connection to query on. + The command used to query on this connection. + + A sequence of data of ; if a basic type (int, string, etc) is queried then the data from the first column is assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Execute a query asynchronously using Task. + + The connection to query on. + The type to return. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The type to return. + The connection to query on. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The type to return. + The connection to query on. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The type to return. + The connection to query on. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The connection to query on. + The type to return. + The command used to query on this connection. + + + + Execute a single-row query asynchronously using Task. + + The type to return. + The connection to query on. + The command used to query on this connection. + + + + Attempts to open a connection asynchronously, with a better error message for unsupported usages. + + + + + Attempts setup a on a , with a better error message for unsupported usages. + + + + + Execute a command asynchronously using Task. + + The connection to query on. + The SQL to execute for this query. + The parameters to use for this query. + The transaction to use for this query. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + The number of rows affected. + + + + Execute a command asynchronously using Task. + + The connection to execute on. + The command to execute on this connection. + The number of rows affected. + + + + Perform an asynchronous multi-mapping query with 2 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform an asynchronous multi-mapping query with 2 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The combined type to return. + The connection to query on. + The field we should split and read the second object from (default: "Id"). + The command to execute. + The function to map row types to the return type. + An enumerable of . + + + + Perform an asynchronous multi-mapping query with 3 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform an asynchronous multi-mapping query with 3 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The combined type to return. + The connection to query on. + The field we should split and read the second object from (default: "Id"). + The command to execute. + The function to map row types to the return type. + An enumerable of . + + + + Perform an asynchronous multi-mapping query with 4 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform an asynchronous multi-mapping query with 4 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The combined type to return. + The connection to query on. + The field we should split and read the second object from (default: "Id"). + The command to execute. + The function to map row types to the return type. + An enumerable of . + + + + Perform an asynchronous multi-mapping query with 5 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform an asynchronous multi-mapping query with 5 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The combined type to return. + The connection to query on. + The field we should split and read the second object from (default: "Id"). + The command to execute. + The function to map row types to the return type. + An enumerable of . + + + + Perform an asynchronous multi-mapping query with 6 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The sixth type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform an asynchronous multi-mapping query with 6 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The sixth type in the recordset. + The combined type to return. + The connection to query on. + The field we should split and read the second object from (default: "Id"). + The command to execute. + The function to map row types to the return type. + An enumerable of . + + + + Perform an asynchronous multi-mapping query with 7 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The sixth type in the recordset. + The seventh type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform an asynchronous multi-mapping query with 7 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The sixth type in the recordset. + The seventh type in the recordset. + The combined type to return. + The connection to query on. + The field we should split and read the second object from (default: "Id"). + The command to execute. + The function to map row types to the return type. + An enumerable of . + + + + Perform an asynchronous multi-mapping query with an arbitrary number of input types. + This returns a single type, combined from the raw types via . + + The combined type to return. + The connection to query on. + The SQL to execute for this query. + Array of types in the recordset. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Execute a command that returns multiple result sets, and access each in turn. + + The connection to query on. + The SQL to execute for this query. + The parameters to use for this query. + The transaction to use for this query. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + + + + Execute a command that returns multiple result sets, and access each in turn. + + The connection to query on. + The command to execute for this query. + + + + Execute parameterized SQL and return an . + + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + + + + + + Execute parameterized SQL and return a . + + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + + + + Execute parameterized SQL and return an . + + The connection to execute on. + The command to execute. + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Execute parameterized SQL and return a . + + The connection to execute on. + The command to execute. + + + + Execute parameterized SQL and return an . + + The connection to execute on. + The command to execute. + The flags for this reader. + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Execute parameterized SQL and return a . + + The connection to execute on. + The command to execute. + The flags for this reader. + + + + Execute parameterized SQL that selects a single value. + + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + The first cell returned, as . + + + + Execute parameterized SQL that selects a single value. + + The type to return. + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + The first cell returned, as . + + + + Execute parameterized SQL that selects a single value. + + The connection to execute on. + The command to execute. + The first cell selected as . + + + + Execute parameterized SQL that selects a single value. + + The type to return. + The connection to execute on. + The command to execute. + The first cell selected as . + + + + Execute a query asynchronously using . + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of dynamic data + + + + + Execute a query asynchronously using . + + The type of results to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of ; if a basic type (int, string, etc) is queried then the data from the first column is assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Called if the query cache is purged via PurgeQueryCache + + + + + Purge the query cache + + + + + Return a count of all the cached queries by Dapper + + + + + + Return a list of all the queries cached by Dapper + + + + + + + Deep diagnostics only: find any hash collisions in the cache + + + + + Clear the registered type handlers. + + + + + Configure the specified type to be mapped to a given db-type. + + The type to map from. + The database type to map to. + + + + Configure the specified type to be mapped to a given db-type. + + The type to map from. + The database type to map to. + Whether to prefer over . + + + + Removes the specified type from the Type/DbType mapping table. + + The type to remove from the current map. + + + + Configure the specified type to be processed by a custom handler. + + The type to handle. + The handler to process the . + + + + Determine if the specified type will be processed by a custom handler. + + The type to handle. + Boolean value specifying whether the type will be processed by a custom handler. + + + + Configure the specified type to be processed by a custom handler. + + The type to handle. + The handler to process the . + Whether to clone the current type handler map. + + + + Configure the specified type to be processed by a custom handler. + + The type to handle. + The handler for the type . + + + + Get the DbType that maps to a given value. + + The parameter to configure the value for. + The object to get a corresponding database type for. + + + + OBSOLETE: For internal usage only. Lookup the DbType and handler for a given Type and member + + The type to lookup. + The name (for error messages). + Whether to demand a value (throw if missing). + The handler for . + + + + Obtains the data as a list; if it is *already* a list, the original object is returned without + any duplication; otherwise, ToList() is invoked. + + The type of element in the list. + The enumerable to return as a list. + + + + Execute parameterized SQL. + + The connection to query on. + The SQL to execute for this query. + The parameters to use for this query. + The transaction to use for this query. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + The number of rows affected. + + + + Execute parameterized SQL. + + The connection to execute on. + The command to execute on this connection. + The number of rows affected. + + + + Execute parameterized SQL that selects a single value. + + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + The first cell selected as . + + + + Execute parameterized SQL that selects a single value. + + The type to return. + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + The first cell returned, as . + + + + Execute parameterized SQL that selects a single value. + + The connection to execute on. + The command to execute. + The first cell selected as . + + + + Execute parameterized SQL that selects a single value. + + The type to return. + The connection to execute on. + The command to execute. + The first cell selected as . + + + + Execute parameterized SQL and return an . + + The connection to execute on. + The SQL to execute. + The parameters to use for this command. + The transaction to use for this command. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + + + + + + Execute parameterized SQL and return an . + + The connection to execute on. + The command to execute. + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Execute parameterized SQL and return an . + + The connection to execute on. + The command to execute. + The flags for this reader. + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Return a sequence of dynamic objects with properties matching the columns. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + Whether to buffer the results in memory. + The command timeout (in seconds). + The type of command to execute. + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns. + + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Executes a query, returning the data typed as . + + The type of results to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + Whether to buffer results in memory. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column is assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column is assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column is assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column is assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The type of result to return. + The connection to query on. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column is assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + Whether to buffer results in memory. + The command timeout (in seconds). + The type of command to execute. + is null. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column is assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column is assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column is assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column is assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as . + + The connection to query on. + The type to return. + The SQL to execute for the query. + The parameters to pass, if any. + The transaction to use, if any. + The command timeout (in seconds). + The type of command to execute. + is null. + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column is assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as . + + The type of results to return. + The connection to query on. + The command used to query on this connection. + + A sequence of data of ; if a basic type (int, string, etc) is queried then the data from the first column is assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as . + + The type of results to return. + The connection to query on. + The command used to query on this connection. + + A single instance or null of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column is assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as . + + The type of results to return. + The connection to query on. + The command used to query on this connection. + + A single or null instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column is assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as . + + The type of results to return. + The connection to query on. + The command used to query on this connection. + + A single instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column is assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as . + + The type of results to return. + The connection to query on. + The command used to query on this connection. + + A single instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column is assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Execute a command that returns multiple result sets, and access each in turn. + + The connection to query on. + The SQL to execute for this query. + The parameters to use for this query. + The transaction to use for this query. + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + + + + Execute a command that returns multiple result sets, and access each in turn. + + The connection to query on. + The command to execute for this query. + + + + Shared value deserialization path for QueryRowImpl and QueryRowAsync + + + + + Perform a multi-mapping query with 2 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a multi-mapping query with 3 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a multi-mapping query with 4 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a multi-mapping query with 5 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a multi-mapping query with 6 input types. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The sixth type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a multi-mapping query with 7 input types. If you need more types -> use Query with Type[] parameter. + This returns a single type, combined from the raw types via . + + The first type in the recordset. + The second type in the recordset. + The third type in the recordset. + The fourth type in the recordset. + The fifth type in the recordset. + The sixth type in the recordset. + The seventh type in the recordset. + The combined type to return. + The connection to query on. + The SQL to execute for this query. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Perform a multi-mapping query with an arbitrary number of input types. + This returns a single type, combined from the raw types via . + + The combined type to return. + The connection to query on. + The SQL to execute for this query. + Array of types in the recordset. + The function to map row types to the return type. + The parameters to use for this query. + The transaction to use for this query. + Whether to buffer the results in memory. + The field we should split and read the second object from (default: "Id"). + Number of seconds before command execution timeout. + Is it a stored proc or a batch? + An enumerable of . + + + + Internal use only. + + The object to convert to a character. + + + + Internal use only. + + The object to convert to a character. + + + + Internal use only. + + The parameter collection to search in. + The command for this fetch. + The name of the parameter to get. + + + + Internal use only. + + The command to pack parameters for. + The name prefix for these parameters. + The parameter value can be an + + + + OBSOLETE: For internal usage only. Sanitizes the parameter value with proper type casting. + + The value to sanitize. + + + + Replace all literal tokens with their text form. + + The parameter lookup to do replacements with. + The command to replace parameters in. + + + + Convert numeric values to their string form for SQL literal purposes. + + The value to get a string for. + + + + Internal use only. + + The identity of the generator. + Whether to check for duplicates. + Whether to remove unused parameters. + + + + Gets type-map for the given type + + Type map instance, default is to create new instance of DefaultTypeMap + + + + Gets type-map for the given . + + The type to get a map for. + Type map implementation, DefaultTypeMap instance if no override present + + + + Set custom mapping for type deserializers + + Entity type to override + Mapping rules implementation, null to remove custom map + + + + Internal use only + + + + + + + + + + + Internal use only + + + + + + + + + + For internal use only + + + + + Throws a data exception, only used internally + + The exception to throw. + The index the exception occurred at. + The reader the exception occurred in. + The value that caused the exception. + + + + How should connection strings be compared for equivalence? Defaults to StringComparer.Ordinal. + Providing a custom implementation can be useful for allowing multi-tenancy databases with identical + schema to share strategies. Note that usual equivalence rules apply: any equivalent connection strings + MUST yield the same hash-code. + + + + + Key used to indicate the type name associated with a DataTable. + + + + + Used to pass a DataTable as a . + + The to create this parameter for. + The name of the type this parameter is for. + + + + Associate a DataTable with a type name. + + The that does with the . + The name of the type this table is for. + + + + Fetch the type name associated with a . + + The that has a type name associated with it. + + + + Used to pass a IEnumerable<SqlDataRecord> as a TableValuedParameter. + + The list of records to convert to TVPs. + The sql parameter type name. + + + + Dummy type for excluding from multi-map + + + + + The grid reader provides interfaces for reading multiple result sets from a Dapper query + + + + + Read the next grid of results, returned as a dynamic object + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + Whether to buffer the results. + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read the next grid of results + + The type to read. + Whether to buffer the results. + is null. + + + + Read an individual row of the next grid of results + + The type to read. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read the next grid of results. + + The type to read. + Whether the results should be buffered in memory. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Marks the current grid as consumed, and moves to the next result + + + + + Read the next grid of results. + + The type to read. + + + + Read the next grid of results. + + + + + Dispose the grid, closing and disposing both the underlying reader and command. + + + + + Creates a grid reader over an existing command and reader + + + + + Read the next grid of results, returned as a dynamic object. + + Whether the results should be buffered in memory. + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read the next grid of results. + + The type to read. + Whether the results should be buffered in memory. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read an individual row of the next grid of results. + + The type to read. + + + + Read the next grid of results. + + The type to read. + Whether to buffer the results. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Read an individual row of the next grid of results. + + The type to read. + is null. + + + + Validates that data is available, returning the that corresponds to the current grid - and marks the current grid as consumed; + this call must be paired with a call to or + + + + + Read multiple objects from a single record set on the grid. + + The first type in the record set. + The second type in the record set. + The type to return from the record set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Read multiple objects from a single record set on the grid. + + The first type in the record set. + The second type in the record set. + The third type in the record set. + The type to return from the record set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Read multiple objects from a single record set on the grid + + The first type in the record set. + The second type in the record set. + The third type in the record set. + The fourth type in the record set. + The type to return from the record set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Read multiple objects from a single record set on the grid + + The first type in the record set. + The second type in the record set. + The third type in the record set. + The fourth type in the record set. + The fifth type in the record set. + The type to return from the record set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Read multiple objects from a single record set on the grid + + The first type in the record set. + The second type in the record set. + The third type in the record set. + The fourth type in the record set. + The fifth type in the record set. + The sixth type in the record set. + The type to return from the record set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Read multiple objects from a single record set on the grid + + The first type in the record set. + The second type in the record set. + The third type in the record set. + The fourth type in the record set. + The fifth type in the record set. + The sixth type in the record set. + The seventh type in the record set. + The type to return from the record set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Read multiple objects from a single record set on the grid + + The type to return from the record set. + The types to read from the result set. + The mapping function from the read types to the return type. + The field(s) we should split and read the second object from (defaults to "id") + Whether to buffer results in memory. + + + + Indicates the current result index + + + + + Has the underlying reader been consumed? + + This also reports true if the current grid is actively being consumed + + + + The command associated with the reader + + + + + The underlying reader + + + + + The cancellation token associated with this reader + + + + + Marks the current grid as consumed, and moves to the next result + + + + + Dispose the grid, closing and disposing both the underlying reader and command. + + + + + Implement this interface to pass an arbitrary db specific parameter to Dapper + + + + + Add the parameter needed to the command before it executes + + The raw command prior to execution + Parameter name + + + + Parses a data reader to a sequence of data of the supplied type. Used for deserializing a reader without a connection, etc. + + The type to parse from the . + The data reader to parse results from. + + + + Parses a data reader to a sequence of data of the supplied type (as object). Used for deserializing a reader without a connection, etc. + + The data reader to parse results from. + The type to parse from the . + + + + Parses a data reader to a sequence of dynamic. Used for deserializing a reader without a connection, etc. + + The data reader to parse results from. + + + + Gets the row parser for a specific row on a data reader. This allows for type switching every row based on, for example, a TypeId column. + You could return a collection of the base type but have each more specific. + + The data reader to get the parser for the current row from + The type to get the parser for + The start column index of the object (default 0) + The length of columns to read (default -1 = all fields following startIndex) + Return null if we can't find the first column? (default false) + A parser for this specific object from this row. + + + + Gets the row parser for a specific row on a data reader. This allows for type switching every row based on, for example, a TypeId column. + You could return a collection of the base type but have each more specific. + + The data reader to get the parser for the current row from + The type to get the parser for + The start column index of the object (default 0) + The length of columns to read (default -1 = all fields following startIndex) + Return null if we can't find the first column? (default false) + A parser for this specific object from this row. + + + + + + + Gets the row parser for a specific row on a data reader. This allows for type switching every row based on, for example, a TypeId column. + You could return a collection of the base type but have each more specific. + + The type of results to return. + The data reader to get the parser for the current row from. + The type to get the parser for. + The start column index of the object (default: 0). + The length of columns to read (default: -1 = all fields following startIndex). + Return null if we can't find the first column? (default: false). + A parser for this specific object from this row. + + var result = new List<BaseType>(); + using (var reader = connection.ExecuteReader(@" + select 'abc' as Name, 1 as Type, 3.0 as Value + union all + select 'def' as Name, 2 as Type, 4.0 as Value")) + { + if (reader.Read()) + { + var toFoo = reader.GetRowParser<BaseType>(typeof(Foo)); + var toBar = reader.GetRowParser<BaseType>(typeof(Bar)); + var col = reader.GetOrdinal("Type"); + do + { + switch (reader.GetInt32(col)) + { + case 1: + result.Add(toFoo(reader)); + break; + case 2: + result.Add(toBar(reader)); + break; + } + } while (reader.Read()); + } + } + + abstract class BaseType + { + public abstract int Type { get; } + } + class Foo : BaseType + { + public string Name { get; set; } + public override int Type => 1; + } + class Bar : BaseType + { + public float Value { get; set; } + public override int Type => 2; + } + + + + + Identity of a cached query in Dapper, used for extensibility. + + + + + Create an identity for use with DynamicParameters, internal use only. + + The parameters type to create an for. + + + + + Whether this equals another. + + The other to compare to. + + + + The raw SQL command. + + + + + The raw SQL command. + + + + + The SQL command type. + + + + + The SQL command type. + + + + + The hash code of this Identity. + + + + + The grid index (position in the reader) of this Identity. + + + + + The grid index (position in the reader) of this Identity. + + + + + The of this Identity. + + + + + The of this Identity. + + + + + The connection string for this Identity. + + + + + The type of the parameters object for this Identity. + + + + + The type of the parameters object for this Identity. + + + + + Gets the hash code for this identity. + + + + + + See object.ToString() + + + + + Compare 2 Identity objects + + The other object to compare. + Whether the two are equal + + + + Implement this interface to pass an arbitrary db specific set of parameters to Dapper + + + + + Add all the parameters needed to the command just before it executes + + The raw command prior to execution + Information about the query + + + + Implements this interface to provide custom member mapping + + + + + Source DataReader column name + + + + + Target member type + + + + + Target property + + + + + Target field + + + + + Target constructor parameter + + + + + Extends IDynamicParameters with facilities for executing callbacks after commands have completed + + + + + Invoked when the command has executed + + + + + Extends IDynamicParameters providing by-name lookup of parameter values + + + + + Get the value of the specified parameter (return null if not found) + + The name of the parameter to get. + + + + Implement this interface to perform custom type-based parameter handling and value parsing + + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The type to parse to + The typed value + + + + Implement this interface to change default mapping of reader columns to type members + + + + + Finds best constructor + + DataReader column names + DataReader column types + Matching constructor or default one + + + + Returns a constructor which should *always* be used. + + Parameters will be default values, nulls for reference types and zero'd for value types. + + Use this class to force object creation away from parameterless constructors you don't control. + + + + + Gets mapping for constructor parameter + + Constructor to resolve + DataReader column name + Mapping implementation + + + + Gets member mapping for column + + DataReader column name + Mapping implementation + + + + This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), + and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** + equality. The type is fully thread-safe. + + The type to cache. + The value type of the cache. + + + + Represents a placeholder for a value that should be replaced as a literal value in the resulting sql + + + + + The text in the original command that should be replaced + + + + + The name of the member referred to by the token + + + + + Permits specifying certain SqlMapper values globally. + + + + + Gets or sets whether Dapper should use the CommandBehavior.SingleResult optimization + + Note that a consequence of enabling this option is that errors that happen after the first select may not be reported + + + + Gets or sets whether Dapper should use the CommandBehavior.SingleRow optimization + + Note that on some DB providers this optimization can have adverse performance impact + + + + Resets all Settings to their default values + + + + + Specifies the default Command Timeout for all Queries + + + + + Indicates whether nulls in data are silently ignored (default) vs actively applied and assigned to members + + + + + Should list expansions be padded with null-valued parameters, to prevent query-plan saturation? For example, + an 'in @foo' expansion with 7, 8 or 9 values will be sent as a list of 10 values, with 3, 2 or 1 of them null. + The padding size is relative to the size of the list; "next 10" under 150, "next 50" under 500, + "next 100" under 1500, etc. + + + Caution: this should be treated with care if your DB provider (or the specific configuration) allows for null + equality (aka "ansi nulls off"), as this may change the intent of your query; as such, this is disabled by + default and must be enabled. + + + + + If set (non-negative), when performing in-list expansions of integer types ("where id in @ids", etc), switch to a string_split based + operation if there are this many elements or more. Note that this feature requires SQL Server 2016 / compatibility level 130 (or above). + + + + + If set, pseudo-positional parameters (i.e. ?foo?) are passed using auto-generated incremental names, i.e. "1", "2", "3" + instead of the original name; for most scenarios, this is ignored since the name is redundant, but "snowflake" requires this. + + + + + If assigned a non-negative value, then that value is applied to any commands FetchSize property, if it exists; + see https://docs.oracle.com/en/database/oracle/oracle-database/18/odpnt/CommandFetchSize.html; note that this value + can only be set globally - it is not intended for frequent/contextual changing. + + + + + Indicates whether single-character parameter tokens (? etc) will be detected and used where possible; + this feature is not recommended and will be disabled by default in future versions; + where possible, prefer named parameters (@yourParam etc) or Dapper's "pseudo-positional" parameters (?yourParam? etc). + + + + + Base-class for simple type-handlers + + This this handler is for. + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The typed value + + + + Base-class for simple type-handlers that are based around strings + + This this handler is for. + + + + Parse a string into the expected type (the string will never be null) + + The string to parse. + + + + Format an instance into a string (the instance will never be null) + + The string to format. + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The typed value + + + + Not intended for direct usage + + The type to have a cache for. + + + + Not intended for direct usage. + + The object to parse. + + + + Not intended for direct usage. + + The parameter to set a value for. + The value to set. + + + + A type handler for data-types that are supported by the underlying provider, but which need + a well-known UdtTypeName to be specified + + + + + Creates a new instance of UdtTypeHandler with the specified . + + The user defined type name. + + + + Used to pass a DataTable as a TableValuedParameter + + + + + Create a new instance of . + + The to create this parameter for + + + + Create a new instance of . + + The to create this parameter for. + The name of the type this parameter is for. + + + + Describes a reader that controls the lifetime of both a command and a reader, + exposing the downstream command/reader as properties. + + + + + Obtain the underlying reader + + + + + Obtain the underlying command + + + + diff --git a/bin/Debug/Fleck.dll b/bin/Debug/Fleck.dll new file mode 100644 index 0000000..8879ec4 Binary files /dev/null and b/bin/Debug/Fleck.dll differ diff --git a/bin/Debug/Microsoft.Bcl.AsyncInterfaces.dll b/bin/Debug/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 0000000..3321250 Binary files /dev/null and b/bin/Debug/Microsoft.Bcl.AsyncInterfaces.dll differ diff --git a/bin/Debug/Microsoft.Bcl.AsyncInterfaces.xml b/bin/Debug/Microsoft.Bcl.AsyncInterfaces.xml new file mode 100644 index 0000000..a718534 --- /dev/null +++ b/bin/Debug/Microsoft.Bcl.AsyncInterfaces.xml @@ -0,0 +1,420 @@ + + + + Microsoft.Bcl.AsyncInterfaces + + + + Provides the core logic for implementing a manual-reset or . + + + + + The callback to invoke when the operation completes if was called before the operation completed, + or if the operation completed before a callback was supplied, + or null if a callback hasn't yet been provided and the operation hasn't yet completed. + + + + State to pass to . + + + to flow to the callback, or null if no flowing is required. + + + + A "captured" or with which to invoke the callback, + or null if no special context is required. + + + + Whether the current operation has completed. + + + The result with which the operation succeeded, or the default value if it hasn't yet completed or failed. + + + The exception with which the operation failed, or null if it hasn't yet completed or completed successfully. + + + The current version of this value, used to help prevent misuse. + + + Gets or sets whether to force continuations to run asynchronously. + Continuations may run asynchronously if this is false, but they'll never run synchronously if this is true. + + + Resets to prepare for the next operation. + + + Completes with a successful result. + The result. + + + Complets with an error. + + + + Gets the operation version. + + + Gets the status of the operation. + Opaque value that was provided to the 's constructor. + + + Gets the result of the operation. + Opaque value that was provided to the 's constructor. + + + Schedules the continuation action for this operation. + The continuation to invoke when the operation has completed. + The state object to pass to when it's invoked. + Opaque value that was provided to the 's constructor. + The flags describing the behavior of the continuation. + + + Ensures that the specified token matches the current version. + The token supplied by . + + + Signals that the operation has completed. Invoked after the result or error has been set. + + + + Invokes the continuation with the appropriate captured context / scheduler. + This assumes that if is not null we're already + running within that . + + + + Provides a set of static methods for configuring -related behaviors on asynchronous enumerables and disposables. + + + Configures how awaits on the tasks returned from an async disposable will be performed. + The source async disposable. + to capture and marshal back to the current context; otherwise, . + The configured async disposable. + + + Configures how awaits on the tasks returned from an async iteration will be performed. + The type of the objects being iterated. + The source enumerable being iterated. + to capture and marshal back to the current context; otherwise, . + The configured enumerable. + + + Sets the to be passed to when iterating. + The type of the objects being iterated. + The source enumerable being iterated. + The to use. + The configured enumerable. + + + Represents a builder for asynchronous iterators. + + + Creates an instance of the struct. + The initialized instance. + + + Invokes on the state machine while guarding the . + The type of the state machine. + The state machine instance, passed by reference. + + + Schedules the state machine to proceed to the next action when the specified awaiter completes. + The type of the awaiter. + The type of the state machine. + The awaiter. + The state machine. + + + Schedules the state machine to proceed to the next action when the specified awaiter completes. + The type of the awaiter. + The type of the state machine. + The awaiter. + The state machine. + + + Marks iteration as being completed, whether successfully or otherwise. + + + Gets an object that may be used to uniquely identify this builder to the debugger. + + + Indicates whether a method is an asynchronous iterator. + + + Initializes a new instance of the class. + The type object for the underlying state machine type that's used to implement a state machine method. + + + Provides a type that can be used to configure how awaits on an are performed. + + + Asynchronously releases the unmanaged resources used by the . + A task that represents the asynchronous dispose operation. + + + Provides an awaitable async enumerable that enables cancelable iteration and configured awaits. + + + Configures how awaits on the tasks returned from an async iteration will be performed. + to capture and marshal back to the current context; otherwise, . + The configured enumerable. + This will replace any previous value set by for this iteration. + + + Sets the to be passed to when iterating. + The to use. + The configured enumerable. + This will replace any previous set by for this iteration. + + + Returns an enumerator that iterates asynchronously through collections that enables cancelable iteration and configured awaits. + An enumerator for the class. + + + Provides an awaitable async enumerator that enables cancelable iteration and configured awaits. + + + Advances the enumerator asynchronously to the next element of the collection. + + A that will complete with a result of true + if the enumerator was successfully advanced to the next element, or false if the enumerator has + passed the end of the collection. + + + + Gets the element in the collection at the current position of the enumerator. + + + + Performs application-defined tasks associated with freeing, releasing, or + resetting unmanaged resources asynchronously. + + + + Allows users of async-enumerable methods to mark the parameter that should receive the cancellation token value from . + + + Initializes a new instance of the class. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Exposes an enumerator that provides asynchronous iteration over values of a specified type. + The type of values to enumerate. + + + Returns an enumerator that iterates asynchronously through the collection. + A that may be used to cancel the asynchronous iteration. + An enumerator that can be used to iterate asynchronously through the collection. + + + Supports a simple asynchronous iteration over a generic collection. + The type of objects to enumerate. + + + Advances the enumerator asynchronously to the next element of the collection. + + A that will complete with a result of true if the enumerator + was successfully advanced to the next element, or false if the enumerator has passed the end + of the collection. + + + + Gets the element in the collection at the current position of the enumerator. + + + Provides a mechanism for releasing unmanaged resources asynchronously. + + + + Performs application-defined tasks associated with freeing, releasing, or + resetting unmanaged resources asynchronously. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/bin/Debug/Newtonsoft.Json.dll b/bin/Debug/Newtonsoft.Json.dll new file mode 100644 index 0000000..be3857e Binary files /dev/null and b/bin/Debug/Newtonsoft.Json.dll differ diff --git a/bin/Debug/Newtonsoft.Json.xml b/bin/Debug/Newtonsoft.Json.xml new file mode 100644 index 0000000..a806363 --- /dev/null +++ b/bin/Debug/Newtonsoft.Json.xml @@ -0,0 +1,9741 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Initializes a new instance of the class. + + The Oid value. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. + + + + + Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. + + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Initializes a new instance of the class. + + The to write to. + + + + Initializes a new instance of the class. + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a JSON array. + + + + + Writes the beginning of a JSON object. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a parameterized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Creates a custom object. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). + + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + The default value is false. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets the naming strategy used to resolve how enum text is written. + + The naming strategy used to resolve how enum text is written. + + + + Gets or sets a value indicating whether integer values are allowed when serializing and deserializing. + The default value is true. + + true if integers are allowed when serializing and deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + true if the written enum text will be camel case; otherwise, false. + + + + Initializes a new instance of the class. + + The naming strategy used to resolve how enum text is written. + true if integers are allowed when serializing and deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + The of the used to write enum text. + + + + Initializes a new instance of the class. + + The of the used to write enum text. + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + + Initializes a new instance of the class. + + The of the used to write enum text. + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + true if integers are allowed when serializing and deserializing; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from Unix epoch time + + + + + Gets or sets a value indicating whether the dates before Unix epoch + should converted to and from JSON. + + + true to allow converting dates before Unix epoch to and from JSON; + false to throw an exception when a date being converted to or from JSON + occurred before Unix epoch. The default value is false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + true to allow converting dates before Unix epoch to and from JSON; + false to throw an exception when a date being converted to or from JSON + occurred before Unix epoch. The default value is false. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. + + The name of the deserialized root element. + + + + Gets or sets a value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attribute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Gets or sets a value indicating whether to encode special characters when converting JSON to XML. + If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify + XML namespaces, attributes or processing directives. Instead special characters are encoded and written + as part of the XML element name. + + true if special characters are encoded; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + true if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + The default JSON name table implementation. + + + + + Initializes a new instance of the class. + + + + + Gets a string containing the same characters as the specified range of characters in the given array. + + The character array containing the name to find. + The zero-based index into the array specifying the first character of the name. + The number of characters in the name. + A string containing the same characters as the specified range of characters in the given array. + + + + Adds the specified string into name table. + + The string to add. + This method is not thread-safe. + The resolved string. + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that it is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and set members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface for using pooled arrays. + + The array type content. + + + + Rent an array from the pool. This array must be returned when it is no longer needed. + + The minimum required length of the array. The returned array may be longer. + The rented array from the pool. This array must be returned when it is no longer needed. + + + + Return an array to the pool. + + The array that is being returned. + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, when returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, when returns false). + + + + Instructs the how to serialize the collection. + + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items. + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the object. + + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets the collection's items converter. + + The collection's items converter. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Provides methods for converting between .NET types and JSON types. + + + + + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + The string escape handling. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output should be formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output should be formatted. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Serializes the to a JSON string. + + The node to serialize. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to serialize. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by , + writes a Json.NET array attribute for collections, and encodes special characters. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + + A value to indicate whether to encode special characters when converting JSON to XML. + If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify + XML namespaces, attributes or processing directives. Instead special characters are encoded and written + as part of the XML element name. + + The deserialized . + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by , + writes a Json.NET array attribute for collections, and encodes special characters. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + + A value to indicate whether to encode special characters when converting JSON to XML. + If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify + XML namespaces, attributes or processing directives. Instead special characters are encoded and written + as part of the XML element name. + + The deserialized . + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Converts an object to and from JSON. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. If there is no existing value then null will be used. + The existing value has a value. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Gets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + + + + + Initializes a new instance of the class. + + Type of the . + + + + Initializes a new instance of the class. + + Type of the . + Parameter list to use when constructing the . Can be null. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Initializes a new instance of the class. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Base class for a table of atomized string objects. + + + + + Gets a string containing the same characters as the specified range of characters in the given array. + + The character array containing the name to find. + The zero-based index into the array specifying the first character of the name. + The number of characters in the name. + A string containing the same characters as the specified range of characters in the given array. + + + + Instructs the how to serialize the object. + + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + + + + Gets or sets how the object's properties with null values are handled during serialization and deserialization. + + How the object's properties with null values are handled during serialization and deserialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to always serialize the member with the specified name. + + + + + Gets or sets the type used when serializing the property's collection items. + + The collection's items type. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Specifies the state of the reader. + + + + + A read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader is in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the source should be closed when this reader is closed. + + + true to close the source when this reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. + The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets or sets how time zones are handled when reading JSON. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + A null value means there is no maximum. + The default value is 64. + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets the .NET type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Reads the next JSON token from the source. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the current token and value. + + The new token. + The value. + A flag indicating whether the position index inside an array should be updated. + + + + Sets the state based on current token type. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the reader's state to . + If is set to true, the source is also closed. + + + + + The exception thrown when an error occurs while reading JSON text. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Instructs the to always serialize the member, and to require that the member has a value. + + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + The default value is . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + The default value is . + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + The default value is . + + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + The default value is . + + + + + Gets or sets how null values are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how default values are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how objects are created during deserialization. + The default value is . + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + The default value is . + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + The default value is . + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + The default value is . + + + + + Gets or sets how dates are written to JSON text. + The default value is . + + + + + Gets or sets how time zones are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + The default value is . + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + The default value is . + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON text. + The default value is . + + + + + Gets or sets how strings are escaped when writing JSON text. + The default value is . + + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". + + + + + Gets or sets the culture used when reading JSON. + The default value is . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + A null value means there is no maximum. + The default value is 64. + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + The default value is false. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings + from . + + + A new instance. + The will not use default settings + from . + + + + + Creates a new instance using the specified . + The will not use default settings + from . + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings + from . + + + + + Creates a new instance. + The will use default settings + from . + + + A new instance. + The will use default settings + from . + + + + + Creates a new instance using the specified . + The will use default settings + from as well as the specified . + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings + from as well as the specified . + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to read values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to read values from. + The target object to populate values onto. + + + + Deserializes the JSON structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Specifies the settings on a object. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) are handled. + The default value is . + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + The default value is . + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + The default value is . + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + The default value is . + + Null value handling. + + + + Gets or sets how default values are handled during serialization and deserialization. + The default value is . + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + The default value is . + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + The default value is . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + The default value is . + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + The default value is . + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets a function that creates the used by the serializer when resolving references. + + A function that creates the used by the serializer when resolving references. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + A null value means there is no maximum. + The default value is 64. + + + + + Indicates how JSON text output is formatted. + The default value is . + + + + + Gets or sets how dates are written to JSON text. + The default value is . + + + + + Gets or sets how time zones are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + The default value is . + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON. + The default value is . + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + The default value is . + + + + + Gets or sets how strings are escaped when writing JSON text. + The default value is . + + + + + Gets or sets the culture used when reading JSON. + The default value is . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + The default value is false. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + using values copied from the passed in . + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The containing the JSON data to read. + + + + Gets or sets the reader's property name table. + + + + + Gets or sets the reader's character buffer pool. + + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets or sets the writer's character array pool. + + + + + Gets or sets how many s to write for each level in the hierarchy when is set to . + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to . + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Initializes a new instance of the class using the specified . + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying . + + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Specifies the type of JSON token. + + + + + This is returned by the if a read method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + + Represents a reader that provides validation. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the .NET type for the current JSON token. + + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a []. + + + A [] or null if the next JSON token is null. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets or sets a value indicating whether the destination should be closed when this writer is closed. + + + true to close the destination when this writer is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. + + + true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Gets or sets a value indicating how JSON text output should be formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled when writing JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the destination and also flushes the destination. + + + + + Closes this writer. + If is set to true, the destination is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the end of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current JSON object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + + + + Writes the token. + + The to write. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Sets the state of the . + + The being written. + The value being written. + + + + The exception thrown when an error occurs while writing JSON text. + + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Specifies how JSON comments are handled when loading JSON. + + + + + Ignore comments. + + + + + Load comments as a with type . + + + + + Specifies how duplicate property names are handled when loading JSON. + + + + + Replace the existing value when there is a duplicate property. The value of the last property in the JSON object will be used. + + + + + Ignore the new value when there is a duplicate property. The value of the first property in the JSON object will be used. + + + + + Throw a when a duplicate property is encountered. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, and the descendants of every token in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every token in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every token in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every token in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every token in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token. + + + + Gets the of with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads an from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + + + + + Returns an enumerator that iterates through the collection. + + + A of that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + + + + Removes all items from the . + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies the elements of the to an array, starting at a particular array index. + + The array. + Index of the array. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + + + + Represents a JSON constructor. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a token that can contain other tokens. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An of containing the descendant tokens of the . + + + + Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. + + An of containing this token, and all the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates a that can be used to add tokens to the . + + A that is ready to have content written to it. + + + + Replaces the child nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens. + + + + Represents a collection of objects. + + The type of token. + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the of with the specified key. + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a JSON object. + + + + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets the node type for this . + + The type. + + + + Gets an of of this object's properties. + + An of of this object's properties. + + + + Gets a with the specified name. + + The property name. + A with the specified name or null. + + + + Gets the with the specified name. + The exact name will be searched for first and if no matching property is found then + the will be used to match a property. + + The property name. + One of the enumeration values that specifies how the strings will be compared. + A matched with the specified name or null. + + + + Gets a of of this object's property values. + + A of of this object's property values. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Determines whether the JSON object has the specified property name. + + Name of the property. + true if the JSON object has the specified property name; otherwise, false. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries to get the with the specified property name. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Represents a JSON property. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. + When the or + + methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a raw JSON string. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Specifies the settings used when cloning JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a flag that indicates whether to copy annotations when cloning a . + The default value is true. + + + A flag that indicates whether to copy annotations when cloning a . + + + + + Specifies the settings used when loading JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how JSON comments are handled when loading JSON. + The default value is . + + The JSON comment handling. + + + + Gets or sets how JSON line info is handled when loading JSON. + The default value is . + + The JSON line info handling. + + + + Gets or sets how duplicate property names in JSON objects are handled when loading JSON. + The default value is . + + The JSON duplicate property name handling. + + + + Specifies the settings used when merging JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Gets or sets how null value properties are merged. + + How null value properties are merged. + + + + Gets or sets the comparison used to match property names while merging. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + The comparison used to match property names while merging. + + + + Specifies the settings used when selecting JSON. + + + + + Gets or sets a flag that indicates whether an error should be thrown if + no tokens are found when evaluating part of the expression. + + + A flag that indicates whether an error should be thrown if + no tokens are found when evaluating part of the expression. + + + + + Represents an abstract JSON token. + + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of tokens that contain this token, and the ancestors of this token. + + A collection of tokens that contain this token, and the ancestors of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + ToString() returns a non-JSON string value for tokens with a type of . + If you want the JSON for all token types then you should use . + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output should be formatted. + A collection of s which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to []. + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from [] to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Creates a for this token. + + A that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object. + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + Creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JSONPath expression. Selects the token that matches the object path. + + + A that contains a JSONPath expression. + + A , or null. + + + + Selects a using a JSONPath expression. Selects the token that matches the object path. + + + A that contains a JSONPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a using a JSONPath expression. Selects the token that matches the object path. + + + A that contains a JSONPath expression. + + The used to select tokens. + A . + + + + Selects a collection of elements using a JSONPath expression. + + + A that contains a JSONPath expression. + + An of that contains the selected elements. + + + + Selects a collection of elements using a JSONPath expression. + + + A that contains a JSONPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An of that contains the selected elements. + + + + Selects a collection of elements using a JSONPath expression. + + + A that contains a JSONPath expression. + + The used to select tokens. + An of that contains the selected elements. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A object to configure cloning settings. + A new instance of the . + + + + Adds an object to the annotation list of this . + + The annotation to add. + + + + Get the first annotation object of the specified type from this . + + The type of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets the first annotation object of the specified type from this . + + The of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets a collection of annotations of the specified type for this . + + The type of the annotations to retrieve. + An that contains the annotations for this . + + + + Gets a collection of annotations of the specified type for this . + + The of the annotations to retrieve. + An of that contains the annotations that match the specified type for this . + + + + Removes the annotations of the specified type from this . + + The type of annotations to remove. + + + + Removes the annotations of the specified type from this . + + The of annotations to remove. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Gets the at the reader's current position. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Initializes a new instance of the class. + + The token to read from. + The initial path of the token. It is prepended to the returned . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets the at the writer's current position. + + + + + Gets the token being written. + + The token being written. + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying . + + + + + Closes this writer. + If is set to true, the JSON is auto-completed. + + + Setting to true has no additional effect, since the underlying is a type that cannot be closed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes a value. + An error will be raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a undefined value. + + A undefined value. + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Writes this token to a . + + A into which this method will write. + A collection of s which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + ToString() returns a non-JSON string value for tokens with a type of . + If you want the JSON for all token types then you should use . + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not of the same type as this instance. + + + + + Specifies how line information is handled when loading JSON. + + + + + Ignore line information. + + + + + Load line information. + + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies how null value properties are merged. + + + + + The content's null value properties will be ignored during merging. + + + + + The content's null value properties will be merged. + + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + The property is not required but it cannot be a null value. + + + + + + Contains the JSON schema extension methods. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + The validation event handler. + + + + + An in-memory representation of a JSON Schema. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read-only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisible by. + + A number that the value should be divisible by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). + + A flag indicating whether the value can not equal the number defined by the minimum attribute (). + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). + + A flag indicating whether the value can not equal the number defined by the maximum attribute (). + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallowed types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains JSON Schema. + + A that contains JSON Schema. + A populated from the string that contains JSON Schema. + + + + Load a from a string that contains JSON Schema using the specified . + + A that contains JSON Schema. + The resolver. + A populated from the string that contains JSON Schema. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + + Returns detailed information about the schema exception. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + + Generates a from a specified . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + + Resolves from an id. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + + The value types allowed by the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + + Specifies undefined schema Id handling options for the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + + Returns detailed information related to the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + + Represents the callback method that will handle JSON schema validation events and the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + A camel case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used by to resolve a for a given . + + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing types. + + + true if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore ShouldSerialize members when serializing and deserializing types. + + + true if the ShouldSerialize members will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. + + The naming strategy used to resolve how property names and dictionary keys are serialized. + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Resolved name of the property. + + + + Resolves the name of the extension data. By default no changes are made to extension data names. + + Name of the extension data. + Resolved name of the extension data. + + + + Resolves the key of the dictionary. By default is used to resolve dictionary keys. + + Key of the dictionary. + Resolved key of the dictionary. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + The default naming strategy. Property names and dictionary keys are unchanged. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + Initializes a new instance of the class. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer that writes to the application's instances. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides methods to get attributes. + + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Used by to resolve a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that was resolved from the reference. + + + + Gets the reference for the specified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Allows users to control class loading and mandate what class to load. + + + + + When implemented, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When implemented, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the collection values. + + true if the creator has a parameter with the collection values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets the internally resolved for the contract's type. + This converter is used as a fallback converter when no other converter is resolved. + Setting will always override this converter. + + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non-public. + + true if the default object creator is non-public; otherwise, false. + + + + Contract details for a used by the . + + + + + Gets or sets the dictionary key resolver. + + The dictionary key resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the dictionary values. + + true if the creator has a parameter with the dictionary values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object constructor. + + The object constructor. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets or sets how the object's properties with null values are handled during serialization and deserialization. + + How the object's properties with null values are handled during serialization and deserialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Gets or sets the extension data value type. + + + + + Gets or sets the extension data name resolver. + + The extension data name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the for this property. + + The for this property. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes precedence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether has a value specified. + + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets a predicate used to determine whether the property should be deserialized. + + A predicate used to determine whether the property should be deserialized. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Lookup and create an instance of the type described by the argument. + + The type to create. + Optional arguments to pass to an initializing constructor of the JsonConverter. + If null, the default constructor is used. + + + + A kebab case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + A base class for resolving how property names and dictionary keys are serialized. + + + + + A flag indicating whether dictionary keys should be processed. + Defaults to false. + + + + + A flag indicating whether extension data names should be processed. + Defaults to false. + + + + + A flag indicating whether explicitly specified property names, + e.g. a property name customized with a , should be processed. + Defaults to false. + + + + + Gets the serialized name for a given property name. + + The initial property name. + A flag indicating whether the property has had a name explicitly specified. + The serialized property name. + + + + Gets the serialized name for a given extension data name. + + The initial extension data name. + The serialized extension data name. + + + + Gets the serialized key for a given dictionary key. + + The initial dictionary key. + The serialized dictionary key. + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Hash code calculation + + + + + + Object equality implementation + + + + + + + Compare to another NamingStrategy + + + + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Provides methods to get attributes from a , , or . + + + + + Initializes a new instance of the class. + + The instance to get attributes for. This parameter should be a , , or . + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + A snake case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. + + + + + Specifies type name handling options for the . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON + you must specify a root type object with + or . + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic . + + The list to add to. + The collection of elements to add. + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Helper class for serializing immutable collections. + Note that this is used by all builds, even those that don't support immutable collections, in case the DLL is GACed + https://github.com/JamesNK/Newtonsoft.Json/issues/652 + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike this class lets you reuse its internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls result in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + An array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + Specifies that an output will not be null even if the corresponding type allows it. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + + + Initializes a new instance of the class. + + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + diff --git a/bin/Debug/System.Buffers.dll b/bin/Debug/System.Buffers.dll new file mode 100644 index 0000000..67a31fb Binary files /dev/null and b/bin/Debug/System.Buffers.dll differ diff --git a/bin/Debug/System.Buffers.xml b/bin/Debug/System.Buffers.xml new file mode 100644 index 0000000..fe1f651 --- /dev/null +++ b/bin/Debug/System.Buffers.xml @@ -0,0 +1,173 @@ + + + + System.Buffers + + + + + Provides a resource pool that enables reusing instances of type . + + + + Renting and returning buffers with an can increase performance + in situations where arrays are created and destroyed frequently, resulting in significant + memory pressure on the garbage collector. + + + This class is thread-safe. All members may be used by multiple threads concurrently. + + + + + The lazily-initialized shared pool instance. + + + + Retrieves a shared instance. + + + The shared pool provides a default implementation of + that's intended for general applicability. It maintains arrays of multiple sizes, and + may hand back a larger array than was actually requested, but will never hand back a smaller + array than was requested. Renting a buffer from it with will result in an + existing buffer being taken from the pool if an appropriate buffer is available or in a new + buffer being allocated if one is not available. + + + + Ensures that has been initialized to a pool and returns it. + + + + Creates a new instance using default configuration options. + + A new instance. + + + + Creates a new instance using custom configuration options. + + The maximum length of array instances that may be stored in the pool. + + The maximum number of array instances that may be stored in each bucket in the pool. The pool + groups arrays of similar lengths into buckets for faster access. + + A new instance with the specified configuration options. + + The created pool will group arrays into buckets, with no more than + in each bucket and with those arrays not exceeding in length. + + + + + Retrieves a buffer that is at least the requested length. + + The minimum length of the array needed. + + An that is at least in length. + + + This buffer is loaned to the caller and should be returned to the same pool via + so that it may be reused in subsequent usage of . + It is not a fatal error to not return a rented buffer, but failure to do so may lead to + decreased application performance, as the pool may need to create a new buffer to replace + the one lost. + + + + + Returns to the pool an array that was previously obtained via on the same + instance. + + + The buffer previously obtained from to return to the pool. + + + If true and if the pool will store the buffer to enable subsequent reuse, + will clear of its contents so that a subsequent consumer via + will not see the previous consumer's content. If false or if the pool will release the buffer, + the array's contents are left unchanged. + + + Once a buffer has been returned to the pool, the caller gives up all ownership of the buffer + and must not use it. The reference returned from a given call to must only be + returned via once. The default + may hold onto the returned buffer in order to rent it again, or it may release the returned buffer + if it's determined that the pool already has enough buffers stored. + + + + The reason for a BufferAllocated event. + + + The pool is allocating a buffer to be pooled in a bucket. + + + The requested buffer size was too large to be pooled. + + + The pool has already allocated for pooling as many buffers of a particular size as it's allowed. + + + + Event for when a buffer is rented. This is invoked once for every successful call to Rent, + regardless of whether a buffer is allocated or a buffer is taken from the pool. In a + perfect situation where all rented buffers are returned, we expect to see the number + of BufferRented events exactly match the number of BuferReturned events, with the number + of BufferAllocated events being less than or equal to those numbers (ideally significantly + less than). + + + + + Event for when a buffer is allocated by the pool. In an ideal situation, the number + of BufferAllocated events is significantly smaller than the number of BufferRented and + BufferReturned events. + + + + + Event raised when a buffer is returned to the pool. This event is raised regardless of whether + the returned buffer is stored or dropped. In an ideal situation, the number of BufferReturned + events exactly matches the number of BufferRented events. + + + + The default maximum length of each array in the pool (2^20). + + + The default maximum number of arrays per bucket that are available for rent. + + + Lazily-allocated empty array used when arrays of length 0 are requested. + + + Gets an ID for the pool to use with events. + + + Provides a thread-safe bucket containing buffers that can be Rent'd and Return'd. + + + + Creates the pool with numberOfBuffers arrays where each buffer is of bufferLength length. + + + + Gets an ID for the bucket to use with events. + + + Takes an array from the bucket. If the bucket is empty, returns null. + + + + Attempts to return the buffer to the bucket. If successful, the buffer will be stored + in the bucket and true will be returned; otherwise, the buffer won't be stored, and false + will be returned. + + + + The buffer is not associated with this pool and may not be returned to it. + + + diff --git a/bin/Debug/System.IO.Pipelines.dll b/bin/Debug/System.IO.Pipelines.dll new file mode 100644 index 0000000..f930e47 Binary files /dev/null and b/bin/Debug/System.IO.Pipelines.dll differ diff --git a/bin/Debug/System.IO.Pipelines.xml b/bin/Debug/System.IO.Pipelines.xml new file mode 100644 index 0000000..43fca89 --- /dev/null +++ b/bin/Debug/System.IO.Pipelines.xml @@ -0,0 +1,391 @@ + + + + System.IO.Pipelines + + + + Result returned by call. + + + Initializes a new instance of struct setting the and flags. + + to indicate the current operation that produced this was canceled by ; otherwise, . + + to indicate the reader is no longer reading data written to the . + + + Gets a value that indicates whether the current operation was canceled by . + + if the current operation was canceled by ; otherwise, . + + + Gets a value that indicates the reader is no longer reading data written to the . + + if the reader is no longer reading data written to the ; otherwise, . + + + Defines a class that provides a duplex pipe from which data can be read from and written to. + + + Gets the half of the duplex pipe. + + + Gets the half of the duplex pipe. + + + The default and implementation. + + + Initializes a new instance of the class using as options. + + + Initializes a new instance of the class with the specified options. + The set of options for this pipe. + + + Resets the pipe. + + + Gets the for this pipe. + A instance for this pipe. + + + Gets the for this pipe. + A instance for this pipe. + + + Represents a set of options. + + + Initializes a new instance of the class with the specified parameters. + The pool of memory blocks to be used for buffer management. + The to be used to execute callbacks and async continuations. + The used to execute callbacks and async continuations. + The number of bytes in the before starts blocking. A value of zero prevents from ever blocking, effectively making the number of bytes in the unlimited. + The number of bytes in the when stops blocking. + The minimum size of the segment requested from . + + if asynchronous continuations should be executed on the they were captured on; otherwise. This takes precedence over the schedulers specified in and . + + + Gets the default instance of . + A object initialized with default parameters. + + + Gets the minimum size of the segment requested from the . + The minimum size of the segment requested from the . + + + Gets the number of bytes in the when starts blocking. A value of zero prevents from ever blocking, effectively making the number of bytes in the unlimited. + The number of bytes in the when starts blocking. + + + Gets the object used for buffer management. + A pool of memory blocks used for buffer management. + + + Gets the used to execute callbacks and async continuations. + A that is used to execute callbacks and async continuations. + + + Gets the number of bytes in the when stops blocking. + The number of bytes in the when stops blocking. + + + Gets a value that determines if asynchronous callbacks and continuations should be executed on the they were captured on. This takes precedence over the schedulers specified in and . + + if asynchronous callbacks and continuations should be executed on the they were captured on; otherwise, . + + + Gets the used to execute callbacks and async continuations. + A object used to execute callbacks and async continuations. + + + Defines a class that provides access to a read side of pipe. + + + Initializes a new instance of the class. + + + Moves forward the pipeline's read cursor to after the consumed data, marking the data as processed, read and examined. + Marks the extent of the data that has been successfully processed. + Marks the extent of the data that has been read and examined. + + + Moves forward the pipeline's read cursor to after the consumed data, marking the data as processed. + Marks the extent of the data that has been successfully processed. + + + Returns a representation of the . + An optional flag that indicates whether disposing the returned leaves open () or completes (). + A stream that represents the . + + + Cancels the pending operation without causing it to throw and without completing the . If there is no pending operation, this cancels the next operation. + + + Signals to the producer that the consumer is done reading. + Optional indicating a failure that's causing the pipeline to complete. + + + Marks the current pipe reader instance as being complete, meaning no more data will be read from it. + An optional exception that indicates the failure that caused the reader to complete. + A value task that represents the asynchronous complete operation. + + + Asynchronously reads the bytes from the and writes them to the specified , using a specified cancellation token. + The pipe writer to which the contents of the current stream will be copied. + The token to monitor for cancellation requests. The default value is . + The cancellation token was canceled. This exception is stored into the returned task. + A task that represents the asynchronous copy operation. + + + Asynchronously reads the bytes from the and writes them to the specified stream, using a specified cancellation token. + The stream to which the contents of the current stream will be copied. + The token to monitor for cancellation requests. The default value is . + The cancellation token was canceled. This exception is stored into the returned task. + A task that represents the asynchronous copy operation. + + + Creates a wrapping the specified . + The sequence to wrap. + A that wraps the . + + + Creates a wrapping the specified . + The stream that the pipe reader will wrap. + The options to configure the pipe reader. + A that wraps the . + + + Registers a callback that executes when the side of the pipe is completed. + The callback to register. + The state object to pass to when it's invoked. + + + Asynchronously reads a sequence of bytes from the current . + The token to monitor for cancellation requests. The default value is . + The cancellation token was canceled. This exception is stored into the returned task. + A representing the asynchronous read operation. + + + Asynchronously reads a sequence of bytes from the current . + The minimum length that needs to be buffered in order for the call to return. + The token to monitor for cancellation requests. The default value is . + The cancellation token was canceled. This exception is stored into the returned task. + A representing the asynchronous read operation. + + + Asynchronously reads a sequence of bytes from the current . + The minimum length that needs to be buffered in order for the call to return. + The token to monitor for cancellation requests. The default value is . + The cancellation token was canceled. This exception is stored into the returned task. + A representing the asynchronous read operation. + + + Attempts to synchronously read data the . + When this method returns , this value is set to a instance that represents the result of the read call; otherwise, this value is set to . + + if data was available, or if the call was canceled or the writer was completed; otherwise, . + + + Abstraction for running and callbacks and continuations. + + + Initializes new a instance. + + + Requests to be run on scheduler with being passed in. + The single-parameter action delegate to schedule. + The parameter to pass to the delegate. + + + The implementation that runs callbacks inline. + A instance that runs callbacks inline. + + + The implementation that queues callbacks to the thread pool. + A instance that queues callbacks to the thread pool. + + + Defines a class that provides a pipeline to which data can be written. + + + Initializes a new instance of the class. + + + Notifies the that bytes were written to the output or . You must call or again and use the returned buffer to continue writing more data after calling ; you cannot write to a previously acquired buffer. + The number of bytes written to the or . + + + Returns a representation of the . + An optional flag that indicates whether disposing the returned leaves open () or completes (). + A stream that represents the . + + + Cancels the pending or operation without causing the operation to throw and without completing the . If there is no pending operation, this cancels the next operation. + + + Marks the as being complete, meaning no more items will be written to it. + Optional indicating a failure that's causing the pipeline to complete. + + + Marks the current pipe writer instance as being complete, meaning no more data will be written to it. + An optional exception that indicates the failure that caused the pipeline to complete. + A value task that represents the asynchronous complete operation. + + + Asynchronously reads the bytes from the specified stream and writes them to the . + The stream from which the contents will be copied. + The token to monitor for cancellation requests. The default value is . + The cancellation token was canceled. This exception is stored into the returned task. + A task that represents the asynchronous copy operation. + + + Creates a wrapping the specified . + The stream that the pipe writer will wrap. + The options to configure the pipe writer. + A that wraps the . + + + Makes bytes written available to and runs continuation. + The token to monitor for cancellation requests. The default value is . + The cancellation token was canceled. This exception is stored into the returned task. + A task that represents and wraps the asynchronous flush operation. + + + Returns a to write to that is at least the requested size, as specified by the parameter. + The minimum length of the returned . If 0, a non-empty memory buffer of arbitrary size is returned. + The requested buffer size is not available. + A memory buffer of at least bytes. If is 0, returns a non-empty buffer of arbitrary size. + + + Returns a to write to that is at least the requested size, as specified by the parameter. + The minimum length of the returned . If 0, a non-empty buffer of arbitrary size is returned. + The requested buffer size is not available. + A buffer of at least bytes. If is 0, returns a non-empty buffer of arbitrary size. + + + Registers a callback that executes when the side of the pipe is completed. + The callback to register. + The state object to pass to when it's invoked. + + + Writes the specified byte memory range to the pipe and makes data accessible to the . + The read-only byte memory region to write. + The token to monitor for cancellation requests. The default value is . + The cancellation token was canceled. This exception is stored into the returned task. + A task that represents the asynchronous write operation, and wraps the flush asynchronous operation. + + + Gets a value that indicates whether the current supports reporting the count of unflushed bytes. + + If a class derived from does not support getting the unflushed bytes, calls to throw . + + + When overridden in a derived class, gets the count of unflushed bytes within the current writer. + The does not support getting the unflushed byte count. + + + Represents the result of a call. + + + Creates a new instance of setting and flags. + The read-only sequence containing the bytes of data that were read in the call. + A flag that indicates if the operation that produced this was canceled by . + A flag that indicates whether the end of the data stream has been reached. + + + Gets the that was read. + A read-only sequence containing the bytes of data that were read in the call. + + + Gets a value that indicates whether the current operation was canceled by . + + if the operation that produced this was canceled by ; otherwise, . + + + Gets a value that indicates whether the end of the data stream has been reached. + + if the end of the data stream has been reached; otherwise, . + + + Provides extension methods for that support read and write operations directly into pipes. + + + Asynchronously reads the bytes from the and writes them to the specified , using a cancellation token. + The stream from which the contents of the current stream will be copied. + The writer to which the contents of the source stream will be copied. + The token to monitor for cancellation requests. The default value is . + The cancellation token was canceled. This exception is stored into the returned task. + A task that represents the asynchronous copy operation. + + + Represents a set of options for controlling the creation of the . + + + Initializes a instance, optionally specifying a memory pool, a minimum buffer size, a minimum read size, and whether the underlying stream should be left open after the completes. + The memory pool to use when allocating memory. The default value is . + The minimum buffer size to use when renting memory from the . The default value is 4096. + The threshold of remaining bytes in the buffer before a new buffer is allocated. The default value is 1024. + + to leave the underlying stream open after the completes; to close it. The default is . + + if reads with an empty buffer should be issued to the underlying stream before allocating memory; otherwise, . + + + Initializes a instance, optionally specifying a memory pool, a minimum buffer size, a minimum read size, and whether the underlying stream should be left open after the completes. + The memory pool to use when allocating memory. The default value is . + The minimum buffer size to use when renting memory from the . The default value is 4096. + The threshold of remaining bytes in the buffer before a new buffer is allocated. The default value is 1024. + + to leave the underlying stream open after the completes; to close it. The default is . + + + Gets the minimum buffer size to use when renting memory from the . + The buffer size. + + + Gets the value that indicates if the underlying stream should be left open after the completes. + + if the underlying stream should be left open after the completes; otherwise, . + + + Gets the threshold of remaining bytes in the buffer before a new buffer is allocated. + The minimum read size. + + + Gets the to use when allocating memory. + A memory pool instance. + + + Gets the value that indicates if reads with an empty buffer should be issued to the underlying stream, in order to wait for data to arrive before allocating memory. + + if reads with an empty buffer should be issued to the underlying stream before allocating memory; otherwise, . + + + Represents a set of options for controlling the creation of the . + + + Initializes a instance, optionally specifying a memory pool, a minimum buffer size, and whether the underlying stream should be left open after the completes. + The memory pool to use when allocating memory. The default value is . + The minimum buffer size to use when renting memory from the . The default value is 4096. + + to leave the underlying stream open after the completes; to close it. The default is . + + + Gets the value that indicates if the underlying stream should be left open after the completes. + + if the underlying stream should be left open after the completes; otherwise, . + + + Gets the minimum buffer size to use when renting memory from the . + An integer representing the minimum buffer size. + + + Gets the to use when allocating memory. + A memory pool instance. + + + \ No newline at end of file diff --git a/bin/Debug/System.Memory.dll b/bin/Debug/System.Memory.dll new file mode 100644 index 0000000..9b4f824 Binary files /dev/null and b/bin/Debug/System.Memory.dll differ diff --git a/bin/Debug/System.Memory.xml b/bin/Debug/System.Memory.xml new file mode 100644 index 0000000..ff0619c --- /dev/null +++ b/bin/Debug/System.Memory.xml @@ -0,0 +1,3489 @@ + + + + System.Memory + + + + + Reads bytes as primitives with specific endianness + + + For native formats, MemoryExtensions.Read{T}; should be used. + Use these helpers when you need to read specific endinanness. + + + + + This is a no-op and added only for consistency. + This allows the caller to read a struct of numeric primitives and reverse each field + rather than having to skip sbyte fields. + + + + + Reverses a primitive value - performs an endianness swap + + + + + Reverses a primitive value - performs an endianness swap + + + + + Reverses a primitive value - performs an endianness swap + + + + + This is a no-op and added only for consistency. + This allows the caller to read a struct of numeric primitives and reverse each field + rather than having to skip byte fields. + + + + + Reverses a primitive value - performs an endianness swap + + + + + Reverses a primitive value - performs an endianness swap + + + + + Reverses a primitive value - performs an endianness swap + + + + + Reads an Int16 out of a read-only span of bytes as big endian. + + + + + Reads an Int32 out of a read-only span of bytes as big endian. + + + + + Reads an Int64 out of a read-only span of bytes as big endian. + + + + + Reads a UInt16 out of a read-only span of bytes as big endian. + + + + + Reads a UInt32 out of a read-only span of bytes as big endian. + + + + + Reads a UInt64 out of a read-only span of bytes as big endian. + + + + + Reads an Int16 out of a read-only span of bytes as big endian. + If the span is too small to contain an Int16, return false. + + + + + Reads an Int32 out of a read-only span of bytes as big endian. + If the span is too small to contain an Int32, return false. + + + + + Reads an Int64 out of a read-only span of bytes as big endian. + If the span is too small to contain an Int64, return false. + + + + + Reads a UInt16 out of a read-only span of bytes as big endian. + If the span is too small to contain a UInt16, return false. + + + + + Reads a UInt32 out of a read-only span of bytes as big endian. + If the span is too small to contain a UInt32, return false. + + + + + Reads a UInt64 out of a read-only span of bytes as big endian. + If the span is too small to contain a UInt64, return false. + + + + + Reads an Int16 out of a read-only span of bytes as little endian. + + + + + Reads an Int32 out of a read-only span of bytes as little endian. + + + + + Reads an Int64 out of a read-only span of bytes as little endian. + + + + + Reads a UInt16 out of a read-only span of bytes as little endian. + + + + + Reads a UInt32 out of a read-only span of bytes as little endian. + + + + + Reads a UInt64 out of a read-only span of bytes as little endian. + + + + + Reads an Int16 out of a read-only span of bytes as little endian. + If the span is too small to contain an Int16, return false. + + + + + Reads an Int32 out of a read-only span of bytes as little endian. + If the span is too small to contain an Int32, return false. + + + + + Reads an Int64 out of a read-only span of bytes as little endian. + If the span is too small to contain an Int64, return false. + + + + + Reads a UInt16 out of a read-only span of bytes as little endian. + If the span is too small to contain a UInt16, return false. + + + + + Reads a UInt32 out of a read-only span of bytes as little endian. + If the span is too small to contain a UInt32, return false. + + + + + Reads a UInt64 out of a read-only span of bytes as little endian. + If the span is too small to contain a UInt64, return false. + + + + + Writes an Int16 into a span of bytes as big endian. + + + + + Writes an Int32 into a span of bytes as big endian. + + + + + Writes an Int64 into a span of bytes as big endian. + + + + + Write a UInt16 into a span of bytes as big endian. + + + + + Write a UInt32 into a span of bytes as big endian. + + + + + Write a UInt64 into a span of bytes as big endian. + + + + + Writes an Int16 into a span of bytes as big endian. + If the span is too small to contain the value, return false. + + + + + Writes an Int32 into a span of bytes as big endian. + If the span is too small to contain the value, return false. + + + + + Writes an Int64 into a span of bytes as big endian. + If the span is too small to contain the value, return false. + + + + + Write a UInt16 into a span of bytes as big endian. + If the span is too small to contain the value, return false. + + + + + Write a UInt32 into a span of bytes as big endian. + If the span is too small to contain the value, return false. + + + + + Write a UInt64 into a span of bytes as big endian. + If the span is too small to contain the value, return false. + + + + + Writes an Int16 into a span of bytes as little endian. + + + + + Writes an Int32 into a span of bytes as little endian. + + + + + Writes an Int64 into a span of bytes as little endian. + + + + + Write a UInt16 into a span of bytes as little endian. + + + + + Write a UInt32 into a span of bytes as little endian. + + + + + Write a UInt64 into a span of bytes as little endian. + + + + + Writes an Int16 into a span of bytes as little endian. + If the span is too small to contain the value, return false. + + + + + Writes an Int32 into a span of bytes as little endian. + If the span is too small to contain the value, return false. + + + + + Writes an Int64 into a span of bytes as little endian. + If the span is too small to contain the value, return false. + + + + + Write a UInt16 into a span of bytes as little endian. + If the span is too small to contain the value, return false. + + + + + Write a UInt32 into a span of bytes as little endian. + If the span is too small to contain the value, return false. + + + + + Write a UInt64 into a span of bytes as little endian. + If the span is too small to contain the value, return false. + + + + + Extension methods for + + + + + Returns position of first occurrence of item in the + + + + + Copy the to the specified . + + The source . + The destination . + + + + Converts the to an array + + + + + Writes contents of to + + + + + Represents a sink + + + + + Notifies that amount of data was written to / + + + + + Requests the that is at least in size if possible, otherwise returns maximum available memory. + If is equal to 0, currently available memory would get returned. + + + + + Requests the that is at least in size if possible, otherwise returns maximum available memory. + If is equal to 0, currently available memory would get returned. + + + + + Owner of Memory that is responsible for disposing the underlying memory appropriately. + + + + + Returns a Memory. + + + + + Provides a mechanism for pinning and unpinning objects to prevent the GC from moving them. + + + + + Call this method to indicate that the IPinnable object can not be moved by the garbage collector. + The address of the pinned object can be taken. + The offset to the element within the memory at which the returned points to. + + + + + Call this method to indicate that the IPinnable object no longer needs to be pinned. + The garbage collector is free to move the object now. + + + + + A handle for the memory. + + + + + Creates a new memory handle for the memory. + + pointer to memory + reference to manually managed object, or default if there is no memory manager + handle used to pin array buffers + + + + Returns the pointer to memory, where the memory is assumed to be pinned and hence the address won't change. + + + + + Frees the pinned handle and releases IPinnable. + + + + + Manager of that provides the implementation. + + + + + Returns a . + + + + + Returns a span wrapping the underlying memory. + + + + + Returns a handle to the memory that has been pinned and hence its address can be taken. + + The offset to the element within the memory at which the returned points to. (default = 0) + + + + Lets the garbage collector know that the object is free to be moved now. + + + + + Returns a for the current . + + The element count in the memory, starting at offset 0. + + + + Returns a for the current . + + The offset to the element which the returned memory starts at. + The element count in the memory, starting at element offset . + + + + Returns an array segment. + Returns the default array segment if not overriden. + + + + + Implements IDisposable. + + + + + Clean up of any leftover managed and unmanaged resources. + + + + + Represents a pool of memory blocks. + + + + + Returns a singleton instance of a MemoryPool based on arrays. + + + + + Returns a memory block capable of holding at least elements of T. + + If -1 is passed, this is set to a default value for the pool. + + + + Returns the maximum buffer size supported by this pool. + + + + + Constructs a new instance of a memory pool. + + + + + Frees all resources used by the memory pool. + + + + + Frees all resources used by the memory pool. + + + + + + This enum defines the various potential status that can be returned from Span-based operations + that support processing of input contained in multiple discontiguous buffers. + + + + + The entire input buffer has been processed and the operation is complete. + + + + + The input is partially processed, up to what could fit into the destination buffer. + The caller can enlarge the destination buffer, slice the buffers appropriately, and retry. + + + + + The input is partially processed, up to the last valid chunk of the input that could be consumed. + The caller can stitch the remaining unprocessed input with more data, slice the buffers appropriately, and retry. + + + + + The input contained invalid bytes which could not be processed. If the input is partially processed, + the destination contains the partial result. This guarantees that no additional data appended to the input + will make the invalid sequence valid. + + + + + Represents a sequence that can read a sequential series of . + + + + + Returns empty + + + + + Length of the . + + + + + Determines if the is empty. + + + + + Determines if the contains a single segment. + + + + + Gets from the first segment. + + + + + A position to the start of the . + + + + + A position to the end of the + + + + + Creates an instance of from linked memory list represented by start and end segments + and corresponding indexes in them. + + + + + Creates an instance of from the . + + + + + Creates an instance of from the , start and index. + + + + + Creates an instance of from the . + Consumer is expected to manage lifetime of memory until is not used anymore. + + + + + Forms a slice out of the given , beginning at , with items + + The index at which to begin this slice. + The length of the slice + + + + Forms a slice out of the given , beginning at , ending at (inclusive). + + The index at which to begin this slice. + The end (inclusive) of the slice + + + + Forms a slice out of the given , beginning at , with items + + The starting (inclusive) at which to begin this slice. + The length of the slice + + + + Forms a slice out of the given , beginning at , with items + + The index at which to begin this slice. + The length of the slice + + + + Forms a slice out of the given , beginning at , ending at (inclusive). + + The index at which to begin this slice. + The end (inclusive) of the slice + + + + Forms a slice out of the given , beginning at ', with items + + The starting (inclusive) at which to begin this slice. + The length of the slice + + + + Forms a slice out of the given , beginning at , ending at (inclusive). + + The starting (inclusive) at which to begin this slice. + The ending (inclusive) of the slice + + + + Forms a slice out of the given , beginning at , ending at the existing 's end. + + The starting (inclusive) at which to begin this slice. + + + + Forms a slice out of the given , beginning at , ending at the existing 's end. + + The start index at which to begin this slice. + + + + + + + Returns an enumerator over the + + + + + Returns a new at an from the start of the sequence. + + + + + Returns a new at an from the + + + + + Tries to retrieve next segment after and return its contents in . + Returns false if end of was reached otherwise true. + Sets to the beginning of next segment if is set to true. + + + + + An enumerator over the + + + + Initialize the enumerator. + The to enumerate. + + + + The current + + + + + Moves to the next in the + + + + + + Represents a linked list of nodes. + + + + + The value for current node. + + + + + The next node. + + + + + The sum of node length before current. + + + + + Represents a standard formatting string without using an actual String. A StandardFormat consists of a character (such as 'G', 'D' or 'X') + and an optional precision ranging from 0..99, or the special value NoPrecision. + + + + + Precision values for format that don't use a precision, or for when the precision is to be unspecified. + + + + + The maximum valid precision value. + + + + + The character component of the format. + + + + + The precision component of the format. Ranges from 0..9 or the special value NoPrecision. + + + + + true if Precision is a value other than NoPrecision + + + + + true if the StandardFormat == default(StandardFormat) + + + + + Create a StandardFormat. + + A type-specific formatting character such as 'G', 'D' or 'X' + An optional precision ranging from 0..9 or the special value NoPrecision (the default) + + + + Converts a character to a StandardFormat using the NoPrecision precision. + + + + + Converts a classic .NET format string into a StandardFormat + + + + + Converts a classic .NET format string into a StandardFormat + + + + + Returns true if both the Symbol and Precision are equal. + + + + + Compute a hash code. + + + + + Returns true if both the Symbol and Precision are equal. + + + + + Returns the format in classic .NET format. + + + + + Returns true if both the Symbol and Precision are equal. + + + + + Returns false if both the Symbol and Precision are equal. + + + + + Convert between binary data and UTF-8 encoded text that is represented in base 64. + + + + + Decode the span of UTF-8 encoded text represented as base 64 into binary data. + If the input is not a multiple of 4, it will decode as much as it can, to the closest multiple of 4. + + The input span which contains UTF-8 encoded text in base 64 that needs to be decoded. + The output span which contains the result of the operation, i.e. the decoded binary data. + The number of input bytes consumed during the operation. This can be used to slice the input for subsequent calls, if necessary. + The number of bytes written into the output span. This can be used to slice the output for subsequent calls, if necessary. + True (default) when the input span contains the entire data to decode. + Set to false only if it is known that the input span contains partial data with more data to follow. + It returns the OperationStatus enum values: + - Done - on successful processing of the entire input span + - DestinationTooSmall - if there is not enough space in the output span to fit the decoded input + - NeedMoreData - only if isFinalBlock is false and the input is not a multiple of 4, otherwise the partial input would be considered as InvalidData + - InvalidData - if the input contains bytes outside of the expected base 64 range, or if it contains invalid/more than two padding characters, + or if the input is incomplete (i.e. not a multiple of 4) and isFinalBlock is true. + + + + + Returns the maximum length (in bytes) of the result if you were to deocde base 64 encoded text within a byte span of size "length". + + + Thrown when the specified is less than 0. + + + + + Decode the span of UTF-8 encoded text in base 64 (in-place) into binary data. + The decoded binary output is smaller than the text data contained in the input (the operation deflates the data). + If the input is not a multiple of 4, it will not decode any. + + The input span which contains the base 64 text data that needs to be decoded. + The number of bytes written into the buffer. + It returns the OperationStatus enum values: + - Done - on successful processing of the entire input span + - InvalidData - if the input contains bytes outside of the expected base 64 range, or if it contains invalid/more than two padding characters, + or if the input is incomplete (i.e. not a multiple of 4). + It does not return DestinationTooSmall since that is not possible for base 64 decoding. + It does not return NeedMoreData since this method tramples the data in the buffer and + hence can only be called once with all the data in the buffer. + + + + + Encode the span of binary data into UTF-8 encoded text represented as base 64. + + The input span which contains binary data that needs to be encoded. + The output span which contains the result of the operation, i.e. the UTF-8 encoded text in base 64. + The number of input bytes consumed during the operation. This can be used to slice the input for subsequent calls, if necessary. + The number of bytes written into the output span. This can be used to slice the output for subsequent calls, if necessary. + True (default) when the input span contains the entire data to decode. + Set to false only if it is known that the input span contains partial data with more data to follow. + It returns the OperationStatus enum values: + - Done - on successful processing of the entire input span + - DestinationTooSmall - if there is not enough space in the output span to fit the encoded input + - NeedMoreData - only if isFinalBlock is false, otherwise the output is padded if the input is not a multiple of 3 + It does not return InvalidData since that is not possible for base 64 encoding. + + + + + Returns the maximum length (in bytes) of the result if you were to encode binary data within a byte span of size "length". + + + Thrown when the specified is less than 0 or larger than 1610612733 (since encode inflates the data by 4/3). + + + + + Encode the span of binary data (in-place) into UTF-8 encoded text represented as base 64. + The encoded text output is larger than the binary data contained in the input (the operation inflates the data). + + The input span which contains binary data that needs to be encoded. + It needs to be large enough to fit the result of the operation. + The amount of binary data contained within the buffer that needs to be encoded + (and needs to be smaller than the buffer length). + The number of bytes written into the buffer. + It returns the OperationStatus enum values: + - Done - on successful processing of the entire buffer + - DestinationTooSmall - if there is not enough space in the buffer beyond dataLength to fit the result of encoding the input + It does not return NeedMoreData since this method tramples the data in the buffer and hence can only be called once with all the data in the buffer. + It does not return InvalidData since that is not possible for base 64 encoding. + + + + + Returns the symbol contained within the standard format. If the standard format + has not been initialized, returns the provided fallback symbol. + + + + + Fills a buffer with the ASCII character '0' (0x30). + + + + + Writes a value [ 0000 .. 9999 ] to the buffer starting at the specified offset. + This method performs best when the starting index is a constant literal. + + + + + Writes a value [ 00 .. 99 ] to the buffer starting at the specified offset. + This method performs best when the starting index is a constant literal. + + + + + We don't have access to Math.DivRem, so this is a copy of the implementation. + + + + + We don't have access to Math.DivRem, so this is a copy of the implementation. + + + + + Methods to format common data types as Utf8 strings. + + + Methods to format common data types as Utf8 strings. + + + Methods to format common data types as Utf8 strings. + + + Methods to format common data types as Utf8 strings. + + + Methods to format common data types as Utf8 strings. + + + Methods to format common data types as Utf8 strings. + + + Methods to format common data types as Utf8 strings. + + + Methods to format common data types as Utf8 strings. + + + Methods to format common data types as Utf8 strings. + + + Methods to format common data types as Utf8 strings. + + + + + Formats a Boolean as a UTF8 string. + + Value to format + Buffer to write the UTF8-formatted value to + Receives the length of the formatted text in bytes + The standard format to use + + true for success. "bytesWritten" contains the length of the formatted text in bytes. + false if buffer was too short. Iteratively increase the size of the buffer and retry until it succeeds. + + + Formats supported: + G (default) True/False + l true/false + + + System.FormatException if the format is not valid for this data type. + + + + + Formats a DateTimeOffset as a UTF8 string. + + Value to format + Buffer to write the UTF8-formatted value to + Receives the length of the formatted text in bytes + The standard format to use + + true for success. "bytesWritten" contains the length of the formatted text in bytes. + false if buffer was too short. Iteratively increase the size of the buffer and retry until it succeeds. + + + + Formats supported: + default 05/25/2017 10:30:15 -08:00 + G 05/25/2017 10:30:15 + R Tue, 03 Jan 2017 08:08:05 GMT (RFC 1123) + l tue, 03 jan 2017 08:08:05 gmt (Lowercase RFC 1123) + O 2017-06-12T05:30:45.7680000-07:00 (Round-trippable) + + System.FormatException if the format is not valid for this data type. + + + + + Formats a DateTime as a UTF8 string. + + Value to format + Buffer to write the UTF8-formatted value to + Receives the length of the formatted text in bytes + The standard format to use + + true for success. "bytesWritten" contains the length of the formatted text in bytes. + false if buffer was too short. Iteratively increase the size of the buffer and retry until it succeeds. + + + Formats supported: + G (default) 05/25/2017 10:30:15 + R Tue, 03 Jan 2017 08:08:05 GMT (RFC 1123) + l tue, 03 jan 2017 08:08:05 gmt (Lowercase RFC 1123) + O 2017-06-12T05:30:45.7680000-07:00 (Round-trippable) + + + System.FormatException if the format is not valid for this data type. + + + + + Formats a Decimal as a UTF8 string. + + Value to format + Buffer to write the UTF8-formatted value to + Receives the length of the formatted text in bytes + The standard format to use + + true for success. "bytesWritten" contains the length of the formatted text in bytes. + false if buffer was too short. Iteratively increase the size of the buffer and retry until it succeeds. + + + Formats supported: + G/g (default) + F/f 12.45 Fixed point + E/e 1.245000e1 Exponential + + + System.FormatException if the format is not valid for this data type. + + + + + Formats a Double as a UTF8 string. + + Value to format + Buffer to write the UTF8-formatted value to + Receives the length of the formatted text in bytes + The standard format to use + + true for success. "bytesWritten" contains the length of the formatted text in bytes. + false if buffer was too short. Iteratively increase the size of the buffer and retry until it succeeds. + + + Formats supported: + G/g (default) + F/f 12.45 Fixed point + E/e 1.245000e1 Exponential + + + System.FormatException if the format is not valid for this data type. + + + + + Formats a Single as a UTF8 string. + + Value to format + Buffer to write the UTF8-formatted value to + Receives the length of the formatted text in bytes + The standard format to use + + true for success. "bytesWritten" contains the length of the formatted text in bytes. + false if buffer was too short. Iteratively increase the size of the buffer and retry until it succeeds. + + + Formats supported: + G/g (default) + F/f 12.45 Fixed point + E/e 1.245000e1 Exponential + + + System.FormatException if the format is not valid for this data type. + + + + + Formats a Guid as a UTF8 string. + + Value to format + Buffer to write the UTF8-formatted value to + Receives the length of the formatted text in bytes + The standard format to use + + true for success. "bytesWritten" contains the length of the formatted text in bytes. + false if buffer was too short. Iteratively increase the size of the buffer and retry until it succeeds. + + + Formats supported: + D (default) nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn + B {nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn} + P (nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn) + N nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn + + + System.FormatException if the format is not valid for this data type. + + + + + Used to provide access to the individual bytes of a GUID. + + + + + Formats a Byte as a UTF8 string. + + Value to format + Buffer to write the UTF8-formatted value to + Receives the length of the formatted text in bytes + The standard format to use + + true for success. "bytesWritten" contains the length of the formatted text in bytes. + false if buffer was too short. Iteratively increase the size of the buffer and retry until it succeeds. + + + Formats supported: + G/g (default) + D/d 32767 + N/n 32,767 + X/x 7fff + + + System.FormatException if the format is not valid for this data type. + + + + + Formats an SByte as a UTF8 string. + + Value to format + Buffer to write the UTF8-formatted value to + Receives the length of the formatted text in bytes + The standard format to use + + true for success. "bytesWritten" contains the length of the formatted text in bytes. + false if buffer was too short. Iteratively increase the size of the buffer and retry until it succeeds. + + + Formats supported: + G/g (default) + D/d 32767 + N/n 32,767 + X/x 7fff + + + System.FormatException if the format is not valid for this data type. + + + + + Formats a Unt16 as a UTF8 string. + + Value to format + Buffer to write the UTF8-formatted value to + Receives the length of the formatted text in bytes + The standard format to use + + true for success. "bytesWritten" contains the length of the formatted text in bytes. + false if buffer was too short. Iteratively increase the size of the buffer and retry until it succeeds. + + + Formats supported: + G/g (default) + D/d 32767 + N/n 32,767 + X/x 7fff + + + System.FormatException if the format is not valid for this data type. + + + + + Formats an Int16 as a UTF8 string. + + Value to format + Buffer to write the UTF8-formatted value to + Receives the length of the formatted text in bytes + The standard format to use + + true for success. "bytesWritten" contains the length of the formatted text in bytes. + false if buffer was too short. Iteratively increase the size of the buffer and retry until it succeeds. + + + Formats supported: + G/g (default) + D/d 32767 + N/n 32,767 + X/x 7fff + + + System.FormatException if the format is not valid for this data type. + + + + + Formats a UInt32 as a UTF8 string. + + Value to format + Buffer to write the UTF8-formatted value to + Receives the length of the formatted text in bytes + The standard format to use + + true for success. "bytesWritten" contains the length of the formatted text in bytes. + false if buffer was too short. Iteratively increase the size of the buffer and retry until it succeeds. + + + Formats supported: + G/g (default) + D/d 32767 + N/n 32,767 + X/x 7fff + + + System.FormatException if the format is not valid for this data type. + + + + + Formats an Int32 as a UTF8 string. + + Value to format + Buffer to write the UTF8-formatted value to + Receives the length of the formatted text in bytes + The standard format to use + + true for success. "bytesWritten" contains the length of the formatted text in bytes. + false if buffer was too short. Iteratively increase the size of the buffer and retry until it succeeds. + + + Formats supported: + G/g (default) + D/d 32767 + N/n 32,767 + X/x 7fff + + + System.FormatException if the format is not valid for this data type. + + + + + Formats a UInt64 as a UTF8 string. + + Value to format + Buffer to write the UTF8-formatted value to + Receives the length of the formatted text in bytes + The standard format to use + + true for success. "bytesWritten" contains the length of the formatted text in bytes. + false if buffer was too short. Iteratively increase the size of the buffer and retry until it succeeds. + + + Formats supported: + G/g (default) + D/d 32767 + N/n 32,767 + X/x 7fff + + + System.FormatException if the format is not valid for this data type. + + + + + Formats an Int64 as a UTF8 string. + + Value to format + Buffer to write the UTF8-formatted value to + Receives the length of the formatted text in bytes + The standard format to use + + true for success. "bytesWritten" contains the length of the formatted text in bytes. + false if buffer was too short. Iteratively increase the size of the buffer and retry until it succeeds. + + + Formats supported: + G/g (default) + D/d 32767 + N/n 32,767 + X/x 7fff + + + System.FormatException if the format is not valid for this data type. + + + + + Formats a TimeSpan as a UTF8 string. + + Value to format + Buffer to write the UTF8-formatted value to + Receives the length of the formatted text in bytes + The standard format to use + + true for success. "bytesWritten" contains the length of the formatted text in bytes. + false if buffer was too short. Iteratively increase the size of the buffer and retry until it succeeds. + + + Formats supported: + c/t/T (default) [-][d.]hh:mm:ss[.fffffff] (constant format) + G [-]d:hh:mm:ss.fffffff (general long) + g [-][d:][h]h:mm:ss[.f[f[f[f[f[f[f]]]]]] (general short) + + + System.FormatException if the format is not valid for this data type. + + + + + Methods to parse common data types to Utf8 strings. + + + + + Parses a Boolean at the start of a Utf8 string. + + The Utf8 string to parse + Receives the parsed value + On a successful parse, receives the length in bytes of the substring that was parsed + Expected format of the Utf8 string + + true for success. "bytesConsumed" contains the length in bytes of the substring that was parsed. + false if the string was not syntactically valid or an overflow or underflow occurred. "bytesConsumed" is set to 0. + + + Formats supported: + G (default) True/False + l true/false + + + System.FormatException if the format is not valid for this data type. + + + + + Parses a DateTime at the start of a Utf8 string. + + The Utf8 string to parse + Receives the parsed value + On a successful parse, receives the length in bytes of the substring that was parsed + Expected format of the Utf8 string + + true for success. "bytesConsumed" contains the length in bytes of the substring that was parsed. + false if the string was not syntactically valid or an overflow or underflow occurred. "bytesConsumed" is set to 0. + + + Formats supported: + default 05/25/2017 10:30:15 -08:00 + G 05/25/2017 10:30:15 + R Tue, 03 Jan 2017 08:08:05 GMT (RFC 1123) + l tue, 03 jan 2017 08:08:05 gmt (Lowercase RFC 1123) + O 2017-06-12T05:30:45.7680000-07:00 (Round-trippable) + + + System.FormatException if the format is not valid for this data type. + + + + + Parses a DateTimeOffset at the start of a Utf8 string. + + The Utf8 string to parse + Receives the parsed value + On a successful parse, receives the length in bytes of the substring that was parsed + Expected format of the Utf8 string + + true for success. "bytesConsumed" contains the length in bytes of the substring that was parsed. + false if the string was not syntactically valid or an overflow or underflow occurred. "bytesConsumed" is set to 0. + + + Formats supported: + G (default) 05/25/2017 10:30:15 + R Tue, 03 Jan 2017 08:08:05 GMT (RFC 1123) + l tue, 03 jan 2017 08:08:05 gmt (Lowercase RFC 1123) + O 2017-06-12T05:30:45.7680000-07:00 (Round-trippable) + + + System.FormatException if the format is not valid for this data type. + + + + + Overflow-safe DateTimeOffset factory. + + + + + Overflow-safe DateTimeOffset factory. + + + + + Overflow-safe DateTimeOffset/Local time conversion factory. + + + + + Overflow-safe DateTime factory. + + + + + Parses a Decimal at the start of a Utf8 string. + + The Utf8 string to parse + Receives the parsed value + On a successful parse, receives the length in bytes of the substring that was parsed + Expected format of the Utf8 string + + true for success. "bytesConsumed" contains the length in bytes of the substring that was parsed. + false if the string was not syntactically valid or an overflow or underflow occurred. "bytesConsumed" is set to 0. + + + Formats supported: + G/g (default) + F/f 12.45 Fixed point + E/e 1.245000e1 Exponential + + + System.FormatException if the format is not valid for this data type. + + + + + Parses a Single at the start of a Utf8 string. + + The Utf8 string to parse + Receives the parsed value + On a successful parse, receives the length in bytes of the substring that was parsed + Expected format of the Utf8 string + + true for success. "bytesConsumed" contains the length in bytes of the substring that was parsed. + false if the string was not syntactically valid or an overflow or underflow occurred. "bytesConsumed" is set to 0. + + + Formats supported: + G/g (default) + F/f 12.45 Fixed point + E/e 1.245000e1 Exponential + + + System.FormatException if the format is not valid for this data type. + + + + + Parses a Double at the start of a Utf8 string. + + The Utf8 string to parse + Receives the parsed value + On a successful parse, receives the length in bytes of the substring that was parsed + Expected format of the Utf8 string + + true for success. "bytesConsumed" contains the length in bytes of the substring that was parsed. + false if the string was not syntactically valid or an overflow or underflow occurred. "bytesConsumed" is set to 0. + + + Formats supported: + G/g (default) + F/f 12.45 Fixed point + E/e 1.245000e1 Exponential + + + System.FormatException if the format is not valid for this data type. + + + + + Parses a Guid at the start of a Utf8 string. + + The Utf8 string to parse + Receives the parsed value + On a successful parse, receives the length in bytes of the substring that was parsed + Expected format of the Utf8 string + + true for success. "bytesConsumed" contains the length in bytes of the substring that was parsed. + false if the string was not syntactically valid or an overflow or underflow occurred. "bytesConsumed" is set to 0. + + + Formats supported: + D (default) nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn + B {nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn} + P (nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn) + N nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn + + + System.FormatException if the format is not valid for this data type. + + + + + Parses a SByte at the start of a Utf8 string. + + The Utf8 string to parse + Receives the parsed value + On a successful parse, receives the length in bytes of the substring that was parsed + Expected format of the Utf8 string + + true for success. "bytesConsumed" contains the length in bytes of the substring that was parsed. + false if the string was not syntactically valid or an overflow or underflow occurred. "bytesConsumed" is set to 0. + + + Formats supported: + G/g (default) + D/d 32767 + N/n 32,767 + X/x 7fff + + + System.FormatException if the format is not valid for this data type. + + + + + Parses an Int16 at the start of a Utf8 string. + + The Utf8 string to parse + Receives the parsed value + On a successful parse, receives the length in bytes of the substring that was parsed + Expected format of the Utf8 string + + true for success. "bytesConsumed" contains the length in bytes of the substring that was parsed. + false if the string was not syntactically valid or an overflow or underflow occurred. "bytesConsumed" is set to 0. + + + Formats supported: + G/g (default) + D/d 32767 + N/n 32,767 + X/x 7fff + + + System.FormatException if the format is not valid for this data type. + + + + + Parses an Int32 at the start of a Utf8 string. + + The Utf8 string to parse + Receives the parsed value + On a successful parse, receives the length in bytes of the substring that was parsed + Expected format of the Utf8 string + + true for success. "bytesConsumed" contains the length in bytes of the substring that was parsed. + false if the string was not syntactically valid or an overflow or underflow occurred. "bytesConsumed" is set to 0. + + + Formats supported: + G/g (default) + D/d 32767 + N/n 32,767 + X/x 7fff + + + System.FormatException if the format is not valid for this data type. + + + + + Parses an Int64 at the start of a Utf8 string. + + The Utf8 string to parse + Receives the parsed value + On a successful parse, receives the length in bytes of the substring that was parsed + Expected format of the Utf8 string + + true for success. "bytesConsumed" contains the length in bytes of the substring that was parsed. + false if the string was not syntactically valid or an overflow or underflow occurred. "bytesConsumed" is set to 0. + + + Formats supported: + G/g (default) + D/d 32767 + N/n 32,767 + X/x 7fff + + + System.FormatException if the format is not valid for this data type. + + + + + Parses a Byte at the start of a Utf8 string. + + The Utf8 string to parse + Receives the parsed value + On a successful parse, receives the length in bytes of the substring that was parsed + Expected format of the Utf8 string + + true for success. "bytesConsumed" contains the length in bytes of the substring that was parsed. + false if the string was not syntactically valid or an overflow or underflow occurred. "bytesConsumed" is set to 0. + + + Formats supported: + G/g (default) + D/d 32767 + N/n 32,767 + X/x 7fff + + + System.FormatException if the format is not valid for this data type. + + + + + Parses a UInt16 at the start of a Utf8 string. + + The Utf8 string to parse + Receives the parsed value + On a successful parse, receives the length in bytes of the substring that was parsed + Expected format of the Utf8 string + + true for success. "bytesConsumed" contains the length in bytes of the substring that was parsed. + false if the string was not syntactically valid or an overflow or underflow occurred. "bytesConsumed" is set to 0. + + + Formats supported: + G/g (default) + D/d 32767 + N/n 32,767 + X/x 7fff + + + System.FormatException if the format is not valid for this data type. + + + + + Parses a UInt32 at the start of a Utf8 string. + + The Utf8 string to parse + Receives the parsed value + On a successful parse, receives the length in bytes of the substring that was parsed + Expected format of the Utf8 string + + true for success. "bytesConsumed" contains the length in bytes of the substring that was parsed. + false if the string was not syntactically valid or an overflow or underflow occurred. "bytesConsumed" is set to 0. + + + Formats supported: + G/g (default) + D/d 32767 + N/n 32,767 + X/x 7fff + + + System.FormatException if the format is not valid for this data type. + + + + + Parses a UInt64 at the start of a Utf8 string. + + The Utf8 string to parse + Receives the parsed value + On a successful parse, receives the length in bytes of the substring that was parsed + Expected format of the Utf8 string + + true for success. "bytesConsumed" contains the length in bytes of the substring that was parsed. + false if the string was not syntactically valid or an overflow or underflow occurred. "bytesConsumed" is set to 0. + + + Formats supported: + G/g (default) + D/d 32767 + N/n 32,767 + X/x 7fff + + + System.FormatException if the format is not valid for this data type. + + + + + Parses a TimeSpan at the start of a Utf8 string. + + The Utf8 string to parse + Receives the parsed value + On a successful parse, receives the length in bytes of the substring that was parsed + Expected format of the Utf8 string + + true for success. "bytesConsumed" contains the length in bytes of the substring that was parsed. + false if the string was not syntactically valid or an overflow or underflow occurred. "bytesConsumed" is set to 0. + + + Formats supported: + c/t/T (default) [-][d.]hh:mm:ss[.fffffff] (constant format) + G [-]d:hh:mm:ss.fffffff (general long) + g [-][d:]h:mm:ss[.f[f[f[f[f[f[f[]]]]]]] (general short) + + + System.FormatException if the format is not valid for this data type. + + + + + Parse the fraction portion of a TimeSpan. Must be 1..7 digits. If fewer than 7, zeroes are implied to the right. If more than 7, the TimeSpan + parser rejects the string (even if the extra digits are all zeroes.) + + + + + Overflow-safe TryCreateTimeSpan + + + + + Memory represents a contiguous region of arbitrary memory similar to . + Unlike , it is not a byref-like type. + + + + + Creates a new memory over the entirety of the target array. + + The target array. + Returns default when is null. + Thrown when is covariant and array's type is not exactly T[]. + + + + Creates a new memory over the portion of the target array beginning + at 'start' index and ending at 'end' index (exclusive). + + The target array. + The index at which to begin the memory. + The number of items in the memory. + Returns default when is null. + Thrown when is covariant and array's type is not exactly T[]. + + Thrown when the specified or end index is not in the range (<0 or >=Length). + + + + + Creates a new memory from a memory manager that provides specific method implementations beginning + at 0 index and ending at 'end' index (exclusive). + + The memory manager. + The number of items in the memory. + + Thrown when the specified is negative. + + For internal infrastructure only + + + + Creates a new memory from a memory manager that provides specific method implementations beginning + at 'start' index and ending at 'end' index (exclusive). + + The memory manager. + The index at which to begin the memory. + The number of items in the memory. + + Thrown when the specified or is negative. + + For internal infrastructure only + + + + Defines an implicit conversion of an array to a + + + + + Defines an implicit conversion of a to a + + + + + Defines an implicit conversion of a to a + + + + + Returns an empty + + + + + The number of items in the memory. + + + + + Returns true if Length is 0. + + + + + For , returns a new instance of string that represents the characters pointed to by the memory. + Otherwise, returns a with the name of the type and the number of elements. + + + + + Forms a slice out of the given memory, beginning at 'start'. + + The index at which to begin this slice. + + Thrown when the specified index is not in range (<0 or >=Length). + + + + + Forms a slice out of the given memory, beginning at 'start', of given length + + The index at which to begin this slice. + The desired length for the slice (exclusive). + + Thrown when the specified or end index is not in range (<0 or >=Length). + + + + + Returns a span from the memory. + + + + + Copies the contents of the memory into the destination. If the source + and destination overlap, this method behaves as if the original values are in + a temporary location before the destination is overwritten. + + The Memory to copy items into. + + Thrown when the destination is shorter than the source. + + + + + + Copies the contents of the memory into the destination. If the source + and destination overlap, this method behaves as if the original values are in + a temporary location before the destination is overwritten. + + If the destination is shorter than the source, this method + return false and no data is written to the destination. + + The span to copy items into. + + + + Creates a handle for the memory. + The GC will not move the memory until the returned + is disposed, enabling taking and using the memory's address. + + An instance with nonprimitive (non-blittable) members cannot be pinned. + + + + + + Copies the contents from the memory into a new array. This heap + allocates, so should generally be avoided, however it is sometimes + necessary to bridge the gap with APIs written in terms of arrays. + + + + + Determines whether the specified object is equal to the current object. + Returns true if the object is Memory or ReadOnlyMemory and if both objects point to the same array and have the same length. + + + + + Returns true if the memory points to the same array and has the same length. Note that + this does *not* check to see if the *contents* are equal. + + + + + Serves as the default hash function. + + + + + Extension methods for Span{T}, Memory{T}, and friends. + + + Extension methods for Span{T}, Memory{T}, and friends. + + + + + Removes all leading and trailing white-space characters from the span. + + + + + Removes all leading white-space characters from the span. + + + + + Removes all trailing white-space characters from the span. + + + + + Removes all leading and trailing occurrences of a specified character. + + The source span from which the character is removed. + The specified character to look for and remove. + + + + Removes all leading occurrences of a specified character. + + The source span from which the character is removed. + The specified character to look for and remove. + + + + Removes all trailing occurrences of a specified character. + + The source span from which the character is removed. + The specified character to look for and remove. + + + + Removes all leading and trailing occurrences of a set of characters specified + in a readonly span from the span. + + The source span from which the characters are removed. + The span which contains the set of characters to remove. + If is empty, white-space characters are removed instead. + + + + Removes all leading occurrences of a set of characters specified + in a readonly span from the span. + + The source span from which the characters are removed. + The span which contains the set of characters to remove. + If is empty, white-space characters are removed instead. + + + + Removes all trailing occurrences of a set of characters specified + in a readonly span from the span. + + The source span from which the characters are removed. + The span which contains the set of characters to remove. + If is empty, white-space characters are removed instead. + + + + Indicates whether the specified span contains only white-space characters. + + + + + Searches for the specified value and returns the index of its first occurrence. If not found, returns -1. Values are compared using IEquatable{T}.Equals(T). + + The span to search. + The value to search for. + + + + Searches for the specified sequence and returns the index of its first occurrence. If not found, returns -1. Values are compared using IEquatable{T}.Equals(T). + + The span to search. + The sequence to search for. + + + + Searches for the specified value and returns the index of its last occurrence. If not found, returns -1. Values are compared using IEquatable{T}.Equals(T). + + The span to search. + The value to search for. + + + + Searches for the specified sequence and returns the index of its last occurrence. If not found, returns -1. Values are compared using IEquatable{T}.Equals(T). + + The span to search. + The sequence to search for. + + + + Determines whether two sequences are equal by comparing the elements using IEquatable{T}.Equals(T). + + + + + Determines the relative order of the sequences being compared by comparing the elements using IComparable{T}.CompareTo(T). + + + + + Searches for the specified value and returns the index of its first occurrence. If not found, returns -1. Values are compared using IEquatable{T}.Equals(T). + + The span to search. + The value to search for. + + + + Searches for the specified sequence and returns the index of its first occurrence. If not found, returns -1. Values are compared using IEquatable{T}.Equals(T). + + The span to search. + The sequence to search for. + + + + Searches for the specified value and returns the index of its last occurrence. If not found, returns -1. Values are compared using IEquatable{T}.Equals(T). + + The span to search. + The value to search for. + + + + Searches for the specified sequence and returns the index of its last occurrence. If not found, returns -1. Values are compared using IEquatable{T}.Equals(T). + + The span to search. + The sequence to search for. + + + + Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator. If not found, returns -1. + + The span to search. + One of the values to search for. + One of the values to search for. + + + + Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator. If not found, returns -1. + + The span to search. + One of the values to search for. + One of the values to search for. + One of the values to search for. + + + + Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator. If not found, returns -1. + + The span to search. + The set of values to search for. + + + + Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator. If not found, returns -1. + + The span to search. + One of the values to search for. + One of the values to search for. + + + + Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator. If not found, returns -1. + + The span to search. + One of the values to search for. + One of the values to search for. + One of the values to search for. + + + + Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator. If not found, returns -1. + + The span to search. + The set of values to search for. + + + + Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator. If not found, returns -1. + + The span to search. + One of the values to search for. + One of the values to search for. + + + + Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator. If not found, returns -1. + + The span to search. + One of the values to search for. + One of the values to search for. + One of the values to search for. + + + + Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator. If not found, returns -1. + + The span to search. + The set of values to search for. + + + + Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator. If not found, returns -1. + + The span to search. + One of the values to search for. + One of the values to search for. + + + + Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator. If not found, returns -1. + + The span to search. + One of the values to search for. + One of the values to search for. + One of the values to search for. + + + + Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator. If not found, returns -1. + + The span to search. + The set of values to search for. + + + + Determines whether two sequences are equal by comparing the elements using IEquatable{T}.Equals(T). + + + + + Determines the relative order of the sequences being compared by comparing the elements using IComparable{T}.CompareTo(T). + + + + + Determines whether the specified sequence appears at the start of the span. + + + + + Determines whether the specified sequence appears at the start of the span. + + + + + Determines whether the specified sequence appears at the end of the span. + + + + + Determines whether the specified sequence appears at the end of the span. + + + + + Reverses the sequence of the elements in the entire span. + + + + + Creates a new span over the target array. + + + + + Creates a new Span over the portion of the target array beginning + at 'start' index and ending at 'end' index (exclusive). + + The target array. + The index at which to begin the Span. + The number of items in the Span. + Returns default when is null. + Thrown when is covariant and array's type is not exactly T[]. + + Thrown when the specified or end index is not in the range (<0 or >=Length). + + + + + Creates a new span over the portion of the target array segment. + + + + + Creates a new Span over the portion of the target array beginning + at 'start' index and ending at 'end' index (exclusive). + + The target array. + The index at which to begin the Span. + Returns default when is null. + Thrown when is covariant and array's type is not exactly T[]. + + Thrown when the specified or end index is not in the range (<0 or >=segment.Count). + + + + + Creates a new Span over the portion of the target array beginning + at 'start' index and ending at 'end' index (exclusive). + + The target array. + The index at which to begin the Span. + The number of items in the Span. + Returns default when is null. + Thrown when is covariant and array's type is not exactly T[]. + + Thrown when the specified or end index is not in the range (<0 or >=segment.Count). + + + + + Creates a new memory over the target array. + + + + + Creates a new memory over the portion of the target array beginning + at 'start' index and ending at 'end' index (exclusive). + + The target array. + The index at which to begin the memory. + Returns default when is null. + Thrown when is covariant and array's type is not exactly T[]. + + Thrown when the specified or end index is not in the range (<0 or >=array.Length). + + + + + Creates a new memory over the portion of the target array beginning + at 'start' index and ending at 'end' index (exclusive). + + The target array. + The index at which to begin the memory. + The number of items in the memory. + Returns default when is null. + Thrown when is covariant and array's type is not exactly T[]. + + Thrown when the specified or end index is not in the range (<0 or >=Length). + + + + + Creates a new memory over the portion of the target array. + + + + + Creates a new memory over the portion of the target array beginning + at 'start' index and ending at 'end' index (exclusive). + + The target array. + The index at which to begin the memory. + Returns default when is null. + Thrown when is covariant and array's type is not exactly T[]. + + Thrown when the specified or end index is not in the range (<0 or >=segment.Count). + + + + + Creates a new memory over the portion of the target array beginning + at 'start' index and ending at 'end' index (exclusive). + + The target array. + The index at which to begin the memory. + The number of items in the memory. + Returns default when is null. + Thrown when is covariant and array's type is not exactly T[]. + + Thrown when the specified or end index is not in the range (<0 or >=segment.Count). + + + + + Copies the contents of the array into the span. If the source + and destinations overlap, this method behaves as if the original values in + a temporary location before the destination is overwritten. + + The array to copy items from. + The span to copy items into. + + Thrown when the destination Span is shorter than the source array. + + + + + + Copies the contents of the array into the memory. If the source + and destinations overlap, this method behaves as if the original values are in + a temporary location before the destination is overwritten. + + The array to copy items from. + The memory to copy items into. + + Thrown when the destination is shorter than the source array. + + + + + + Determines whether two sequences overlap in memory. + + + + + Determines whether two sequences overlap in memory and outputs the element offset. + + + + + Determines whether two sequences overlap in memory. + + + + + Determines whether two sequences overlap in memory and outputs the element offset. + + + + + Searches an entire sorted for a value + using the specified generic interface. + + The element type of the span. + The sorted to search. + The to use when comparing. + + The zero-based index of in the sorted , + if is found; otherwise, a negative number that is the bitwise complement + of the index of the next element that is larger than or, if there is + no larger element, the bitwise complement of . + + + is . + + + + + Searches an entire sorted for a value + using the specified generic type. + + The element type of the span. + The specific type of . + The sorted to search. + The to use when comparing. + + The zero-based index of in the sorted , + if is found; otherwise, a negative number that is the bitwise complement + of the index of the next element that is larger than or, if there is + no larger element, the bitwise complement of . + + + is . + + + + + Searches an entire sorted for the specified + using the specified generic type. + + The element type of the span. + The specific type of . + The sorted to search. + The object to locate. The value can be null for reference types. + The to use when comparing. + /// + The zero-based index of in the sorted , + if is found; otherwise, a negative number that is the bitwise complement + of the index of the next element that is larger than or, if there is + no larger element, the bitwise complement of . + + + is . + + + + + Searches an entire sorted for a value + using the specified generic interface. + + The element type of the span. + The sorted to search. + The to use when comparing. + + The zero-based index of in the sorted , + if is found; otherwise, a negative number that is the bitwise complement + of the index of the next element that is larger than or, if there is + no larger element, the bitwise complement of . + + + is . + + + + + Searches an entire sorted for a value + using the specified generic type. + + The element type of the span. + The specific type of . + The sorted to search. + The to use when comparing. + + The zero-based index of in the sorted , + if is found; otherwise, a negative number that is the bitwise complement + of the index of the next element that is larger than or, if there is + no larger element, the bitwise complement of . + + + is . + + + + + Searches an entire sorted for the specified + using the specified generic type. + + The element type of the span. + The specific type of . + The sorted to search. + The object to locate. The value can be null for reference types. + The to use when comparing. + /// + The zero-based index of in the sorted , + if is found; otherwise, a negative number that is the bitwise complement + of the index of the next element that is larger than or, if there is + no larger element, the bitwise complement of . + + + is . + + + + + Creates a new span over the portion of the target array. + + + + + Returns a value indicating whether the specified occurs within the . + The source span. + The value to seek within the source span. + One of the enumeration values that determines how the and are compared. + + + + + Determines whether this and the specified span have the same characters + when compared using the specified option. + The source span. + The value to compare with the source span. + One of the enumeration values that determines how the and are compared. + + + + + Compares the specified and using the specified , + and returns an integer that indicates their relative position in the sort order. + The source span. + The value to compare with the source span. + One of the enumeration values that determines how the and are compared. + + + + + Reports the zero-based index of the first occurrence of the specified in the current . + The source span. + The value to seek within the source span. + One of the enumeration values that determines how the and are compared. + + + + + Copies the characters from the source span into the destination, converting each character to lowercase, + using the casing rules of the specified culture. + + The source span. + The destination span which contains the transformed characters. + An object that supplies culture-specific casing rules. + If the source and destinations overlap, this method behaves as if the original values are in + a temporary location before the destination is overwritten. + + Thrown when is null. + + + + + Copies the characters from the source span into the destination, converting each character to lowercase, + using the casing rules of the invariant culture. + + The source span. + The destination span which contains the transformed characters. + If the source and destinations overlap, this method behaves as if the original values are in + a temporary location before the destination is overwritten. + + + + Copies the characters from the source span into the destination, converting each character to uppercase, + using the casing rules of the specified culture. + + The source span. + The destination span which contains the transformed characters. + An object that supplies culture-specific casing rules. + If the source and destinations overlap, this method behaves as if the original values are in + a temporary location before the destination is overwritten. + + Thrown when is null. + + + + + Copies the characters from the source span into the destination, converting each character to uppercase + using the casing rules of the invariant culture. + + The source span. + The destination span which contains the transformed characters. + If the source and destinations overlap, this method behaves as if the original values are in + a temporary location before the destination is overwritten. + + + + Determines whether the end of the matches the specified when compared using the specified option. + + The source span. + The sequence to compare to the end of the source span. + One of the enumeration values that determines how the and are compared. + + + + Determines whether the beginning of the matches the specified when compared using the specified option. + + The source span. + The sequence to compare to the beginning of the source span. + One of the enumeration values that determines how the and are compared. + + + + Creates a new readonly span over the portion of the target string. + + The target string. + Returns default when is null. + + + + Creates a new readonly span over the portion of the target string. + + The target string. + The index at which to begin this slice. + Returns default when is null. + + Thrown when the specified index is not in range (<0 or >text.Length). + + + + + Creates a new readonly span over the portion of the target string. + + The target string. + The index at which to begin this slice. + The desired length for the slice (exclusive). + Returns default when is null. + + Thrown when the specified index or is not in range. + + + + Creates a new over the portion of the target string. + The target string. + Returns default when is null. + + + Creates a new over the portion of the target string. + The target string. + The index at which to begin this slice. + Returns default when is null. + + Thrown when the specified index is not in range (<0 or >text.Length). + + + + Creates a new over the portion of the target string. + The target string. + The index at which to begin this slice. + The desired length for the slice (exclusive). + Returns default when is null. + + Thrown when the specified index or is not in range. + + + + + Represents a contiguous region of memory, similar to . + Unlike , it is not a byref-like type. + + + + + Creates a new memory over the entirety of the target array. + + The target array. + Returns default when is null. + Thrown when is covariant and array's type is not exactly T[]. + + + + Creates a new memory over the portion of the target array beginning + at 'start' index and ending at 'end' index (exclusive). + + The target array. + The index at which to begin the memory. + The number of items in the memory. + Returns default when is null. + Thrown when is covariant and array's type is not exactly T[]. + + Thrown when the specified or end index is not in the range (<0 or >=Length). + + + + Creates a new memory over the existing object, start, and length. No validation is performed. + The target object. + The index at which to begin the memory. + The number of items in the memory. + + + + Defines an implicit conversion of an array to a + + + + + Defines an implicit conversion of a to a + + + + + Returns an empty + + + + + The number of items in the memory. + + + + + Returns true if Length is 0. + + + + + For , returns a new instance of string that represents the characters pointed to by the memory. + Otherwise, returns a with the name of the type and the number of elements. + + + + + Forms a slice out of the given memory, beginning at 'start'. + + The index at which to begin this slice. + + Thrown when the specified index is not in range (<0 or >=Length). + + + + + Forms a slice out of the given memory, beginning at 'start', of given length + + The index at which to begin this slice. + The desired length for the slice (exclusive). + + Thrown when the specified or end index is not in range (<0 or >=Length). + + + + + Returns a span from the memory. + + + + + Copies the contents of the read-only memory into the destination. If the source + and destination overlap, this method behaves as if the original values are in + a temporary location before the destination is overwritten. + + The Memory to copy items into. + + Thrown when the destination is shorter than the source. + + + + + + Copies the contents of the readonly-only memory into the destination. If the source + and destination overlap, this method behaves as if the original values are in + a temporary location before the destination is overwritten. + + If the destination is shorter than the source, this method + return false and no data is written to the destination. + + The span to copy items into. + + + + Creates a handle for the memory. + The GC will not move the memory until the returned + is disposed, enabling taking and using the memory's address. + + An instance with nonprimitive (non-blittable) members cannot be pinned. + + + + + + Copies the contents from the memory into a new array. This heap + allocates, so should generally be avoided, however it is sometimes + necessary to bridge the gap with APIs written in terms of arrays. + + + + Determines whether the specified object is equal to the current object. + + + + Returns true if the memory points to the same array and has the same length. Note that + this does *not* check to see if the *contents* are equal. + + + + Returns the hash code for this + + + Gets the state of the memory as individual fields. + The offset. + The count. + The object. + + + + ReadOnlySpan represents a contiguous region of arbitrary memory. Unlike arrays, it can point to either managed + or native memory, or to memory allocated on the stack. It is type- and memory-safe. + + + ReadOnlySpan represents a contiguous region of arbitrary memory. Unlike arrays, it can point to either managed + or native memory, or to memory allocated on the stack. It is type- and memory-safe. + + + + + The number of items in the read-only span. + + + + + Returns true if Length is 0. + + + + + Returns false if left and right point at the same memory and have the same length. Note that + this does *not* check to see if the *contents* are equal. + + + + + This method is not supported as spans cannot be boxed. To compare two spans, use operator==. + + Always thrown by this method. + + + + + + This method is not supported as spans cannot be boxed. + + Always thrown by this method. + + + + + + Defines an implicit conversion of an array to a + + + + + Defines an implicit conversion of a to a + + + + + Returns a 0-length read-only span whose base is the null pointer. + + + + Gets an enumerator for this span. + + + Enumerates the elements of a . + + + The span being enumerated. + + + The next index to yield. + + + Initialize the enumerator. + The span to enumerate. + + + Advances the enumerator to the next element of the span. + + + Gets the element at the current position of the enumerator. + + + + Creates a new read-only span over the entirety of the target array. + + The target array. + Returns default when is null. + Thrown when is covariant and array's type is not exactly T[]. + + + + Creates a new read-only span over the portion of the target array beginning + at 'start' index and ending at 'end' index (exclusive). + + The target array. + The index at which to begin the read-only span. + The number of items in the read-only span. + Returns default when is null. + Thrown when is covariant and array's type is not exactly T[]. + + Thrown when the specified or end index is not in the range (<0 or >=Length). + + + + + Creates a new read-only span over the target unmanaged buffer. Clearly this + is quite dangerous, because we are creating arbitrarily typed T's + out of a void*-typed block of memory. And the length is not checked. + But if this creation is correct, then all subsequent uses are correct. + + An unmanaged pointer to memory. + The number of elements the memory contains. + + Thrown when is reference type or contains pointers and hence cannot be stored in unmanaged memory. + + + Thrown when the specified is negative. + + + + + Returns the specified element of the read-only span. + + + + + Thrown when index less than 0 or index greater than or equal to Length + + + + + Returns a reference to the 0th element of the Span. If the Span is empty, returns null reference. + It can be used for pinning and is required to support the use of span within a fixed statement. + + + + + Copies the contents of this read-only span into destination span. If the source + and destinations overlap, this method behaves as if the original values in + a temporary location before the destination is overwritten. + + The span to copy items into. + + Thrown when the destination Span is shorter than the source Span. + + + + + + Copies the contents of this read-only span into destination span. If the source + and destinations overlap, this method behaves as if the original values in + a temporary location before the destination is overwritten. + + If the destination span is shorter than the source span, this method + return false and no data is written to the destination. + + The span to copy items into. + + + + Returns true if left and right point at the same memory and have the same length. Note that + this does *not* check to see if the *contents* are equal. + + + + + For , returns a new instance of string that represents the characters pointed to by the span. + Otherwise, returns a with the name of the type and the number of elements. + + + + + Forms a slice out of the given read-only span, beginning at 'start'. + + The index at which to begin this slice. + + Thrown when the specified index is not in range (<0 or >=Length). + + + + + Forms a slice out of the given read-only span, beginning at 'start', of given length + + The index at which to begin this slice. + The desired length for the slice (exclusive). + + Thrown when the specified or end index is not in range (<0 or >=Length). + + + + + Copies the contents of this read-only span into a new array. This heap + allocates, so should generally be avoided, however it is sometimes + necessary to bridge the gap with APIs written in terms of arrays. + + + + + This method is obsolete, use System.Runtime.InteropServices.MemoryMarshal.GetReference instead. + Returns a reference to the 0th element of the Span. If the Span is empty, returns a reference to the location where the 0th element + would have been stored. Such a reference can be used for pinning but must never be dereferenced. + + + + + Provides a collection of methods for interoperating with , , + , and . + + + Provides a collection of methods for interoperating with , , + , and . + + + + + Get an array segment from the underlying memory. + If unable to get the array segment, return false with a default array segment. + + + + + Gets an from the underlying read-only memory. + If unable to get the type, returns false. + + The element type of the . + The type of to try and retrive. + The memory to get the manager for. + The returned manager of the . + A indicating if it was successful. + + + + Gets an and , from the underlying read-only memory. + If unable to get the type, returns false. + + The element type of the . + The type of to try and retrive. + The memory to get the manager for. + The returned manager of the . + The offset from the start of the that the represents. + The length of the that the represents. + A indicating if it was successful. + + + + Creates an view of the given to allow + the to be used in existing APIs that take an . + + The element type of the . + The ReadOnlyMemory to view as an + An view of the given + + + Attempts to get the underlying from a . + The memory that may be wrapping a object. + The string. + The starting location in . + The number of items in . + + + + + Reads a structure of type T out of a read-only span of bytes. + + + + + Reads a structure of type T out of a span of bytes. + If the span is too small to contain the type T, return false. + + + + + Writes a structure of type T into a span of bytes. + + + + + Writes a structure of type T into a span of bytes. + If the span is too small to contain the type T, return false. + + + + + Creates a new memory over the portion of the pre-pinned target array beginning + at 'start' index and ending at 'end' index (exclusive). + + The pre-pinned target array. + The index at which to begin the memory. + The number of items in the memory. + This method should only be called on an array that is already pinned and + that array should not be unpinned while the returned Memory is still in use. + Calling this method on an unpinned array could result in memory corruption. + Returns default when is null. + Thrown when is covariant and array's type is not exactly T[]. + + Thrown when the specified or end index is not in the range (<0 or >=Length). + + + + + Casts a Span of one primitive type to Span of bytes. + That type may not contain pointers or references. This is checked at runtime in order to preserve type safety. + + The source slice, of type . + + Thrown when contains pointers. + + + Thrown if the Length property of the new Span would exceed Int32.MaxValue. + + + + + Casts a ReadOnlySpan of one primitive type to ReadOnlySpan of bytes. + That type may not contain pointers or references. This is checked at runtime in order to preserve type safety. + + The source slice, of type . + + Thrown when contains pointers. + + + Thrown if the Length property of the new Span would exceed Int32.MaxValue. + + + + Creates a from a . + The . + A representing the same memory as the , but writable. + + must be used with extreme caution. is used + to represent immutable data and other memory that is not meant to be written to; instances created + by should not be written to. The method exists to enable variables typed + as but only used for reading to store a . + + + + + Returns a reference to the 0th element of the Span. If the Span is empty, returns a reference to the location where the 0th element + would have been stored. Such a reference can be used for pinning but must never be dereferenced. + + + + + Returns a reference to the 0th element of the ReadOnlySpan. If the Span is empty, returns a reference to the location where the 0th element + would have been stored. Such a reference can be used for pinning but must never be dereferenced. + + + + + Casts a Span of one primitive type to another primitive type . + These types may not contain pointers or references. This is checked at runtime in order to preserve type safety. + + + Supported only for platforms that support misaligned memory access. + + The source slice, of type . + + Thrown when or contains pointers. + + + + + Casts a ReadOnlySpan of one primitive type to another primitive type . + These types may not contain pointers or references. This is checked at runtime in order to preserve type safety. + + + Supported only for platforms that support misaligned memory access. + + The source slice, of type . + + Thrown when or contains pointers. + + + + + Provides a collection of methods for interoperating with + + + + + Get from the underlying . + If unable to get the , return false. + + + + + Get an array segment from the underlying . + If unable to get the array segment, return false with a default array segment. + + + + + Get from the underlying . + If unable to get the , return false. + + + + + Get from the underlying . + If unable to get the , return false. + + + + + Represents position in non-contiguous set of memory. + Properties of this type should not be interpreted by anything but the type that created it. + + + + + Creates new + + + + + Returns object part of this + + + + + Returns integer part of this + + + + + Indicates whether the current is equal to another . + equality does not guarantee that they point to the same location in + + + + + Indicates whether the current is equal to another . + equality does not guarantee that they point to the same location in + + + + + + + + Span represents a contiguous region of arbitrary memory. Unlike arrays, it can point to either managed + or native memory, or to memory allocated on the stack. It is type- and memory-safe. + + + Span represents a contiguous region of arbitrary memory. Unlike arrays, it can point to either managed + or native memory, or to memory allocated on the stack. It is type- and memory-safe. + + + + + The number of items in the span. + + + + + Returns true if Length is 0. + + + + + Returns false if left and right point at the same memory and have the same length. Note that + this does *not* check to see if the *contents* are equal. + + + + + This method is not supported as spans cannot be boxed. To compare two spans, use operator==. + + Always thrown by this method. + + + + + + This method is not supported as spans cannot be boxed. + + Always thrown by this method. + + + + + + Defines an implicit conversion of an array to a + + + + + Defines an implicit conversion of a to a + + + + + Returns an empty + + + + Gets an enumerator for this span. + + + Enumerates the elements of a . + + + The span being enumerated. + + + The next index to yield. + + + Initialize the enumerator. + The span to enumerate. + + + Advances the enumerator to the next element of the span. + + + Gets the element at the current position of the enumerator. + + + + Creates a new span over the entirety of the target array. + + The target array. + Returns default when is null. + Thrown when is covariant and array's type is not exactly T[]. + + + + Creates a new span over the portion of the target array beginning + at 'start' index and ending at 'end' index (exclusive). + + The target array. + The index at which to begin the span. + The number of items in the span. + Returns default when is null. + Thrown when is covariant and array's type is not exactly T[]. + + Thrown when the specified or end index is not in the range (<0 or >=Length). + + + + + Creates a new span over the target unmanaged buffer. Clearly this + is quite dangerous, because we are creating arbitrarily typed T's + out of a void*-typed block of memory. And the length is not checked. + But if this creation is correct, then all subsequent uses are correct. + + An unmanaged pointer to memory. + The number of elements the memory contains. + + Thrown when is reference type or contains pointers and hence cannot be stored in unmanaged memory. + + + Thrown when the specified is negative. + + + + + Returns a reference to specified element of the Span. + + + + + Thrown when index less than 0 or index greater than or equal to Length + + + + + Returns a reference to the 0th element of the Span. If the Span is empty, returns null reference. + It can be used for pinning and is required to support the use of span within a fixed statement. + + + + + Clears the contents of this span. + + + + + Fills the contents of this span with the given value. + + + + + Copies the contents of this span into destination span. If the source + and destinations overlap, this method behaves as if the original values in + a temporary location before the destination is overwritten. + + The span to copy items into. + + Thrown when the destination Span is shorter than the source Span. + + + + + + Copies the contents of this span into destination span. If the source + and destinations overlap, this method behaves as if the original values in + a temporary location before the destination is overwritten. + + If the destination span is shorter than the source span, this method + return false and no data is written to the destination. + + The span to copy items into. + + + + Returns true if left and right point at the same memory and have the same length. Note that + this does *not* check to see if the *contents* are equal. + + + + + Defines an implicit conversion of a to a + + + + + For , returns a new instance of string that represents the characters pointed to by the span. + Otherwise, returns a with the name of the type and the number of elements. + + + + + Forms a slice out of the given span, beginning at 'start'. + + The index at which to begin this slice. + + Thrown when the specified index is not in range (<0 or >=Length). + + + + + Forms a slice out of the given span, beginning at 'start', of given length + + The index at which to begin this slice. + The desired length for the slice (exclusive). + + Thrown when the specified or end index is not in range (<0 or >=Length). + + + + + Copies the contents of this span into a new array. This heap + allocates, so should generally be avoided, however it is sometimes + necessary to bridge the gap with APIs written in terms of arrays. + + + + + This method is obsolete, use System.Runtime.InteropServices.MemoryMarshal.GetReference instead. + Returns a reference to the 0th element of the Span. If the Span is empty, returns a reference to the location where the 0th element + would have been stored. Such a reference can be used for pinning but must never be dereferenced. + + + + + Implements the copy functionality used by Span and ReadOnlySpan. + + NOTE: Fast span implements TryCopyTo in corelib and therefore this implementation + is only used by portable span. The code must live in code that only compiles + for portable span which means either each individual span implementation + of this shared code file. Other shared SpanHelper.X.cs files are compiled + for both portable and fast span implementations. + + + + + Computes "start + index * sizeof(T)", using the unsigned IntPtr-sized multiplication for 32 and 64 bits. + + Assumptions: + Start and index are non-negative, and already pre-validated to be within the valid range of their containing Span. + + If the byte length (Span.Length * sizeof(T)) does an unsigned overflow (i.e. the buffer wraps or is too big to fit within the address space), + the behavior is undefined. + + + + + + Determine if a type is eligible for storage in unmanaged memory. + Portable equivalent of RuntimeHelpers.IsReferenceOrContainsReferences{T}() + + + + Equals() on Span and ReadOnlySpan is not supported. Use operator== instead. + + + GetHashCode() on Span and ReadOnlySpan is not supported. + + + Cannot use type '{0}'. Only value types without pointers or references are supported. + + + Destination is too short. + + + Memory<T> has been disposed. + + + Release all references before disposing this instance. + + + Format specifier was invalid. + + + The 'G' format combined with a precision is not supported. + + + Characters following the format symbol must be a number of {0} or less. + + + Precision cannot be larger than {0}. + + + Overlapping spans have mismatching alignment. + + + End position was not reached during enumeration. + + + Unexpected segment type. + + + diff --git a/bin/Debug/System.Numerics.Vectors.dll b/bin/Debug/System.Numerics.Vectors.dll new file mode 100644 index 0000000..95a6d99 Binary files /dev/null and b/bin/Debug/System.Numerics.Vectors.dll differ diff --git a/bin/Debug/System.Numerics.Vectors.xml b/bin/Debug/System.Numerics.Vectors.xml new file mode 100644 index 0000000..2c6356e --- /dev/null +++ b/bin/Debug/System.Numerics.Vectors.xml @@ -0,0 +1,3451 @@ + + + + System.Numerics.Vectors + + + + + A structure encapsulating a 3x2 matrix. + + + + + The first element of the first row + + + + + The second element of the first row + + + + + The first element of the second row + + + + + The second element of the second row + + + + + The first element of the third row + + + + + The second element of the third row + + + + + Returns the multiplicative identity matrix. + + + + + Returns whether the matrix is the identity matrix. + + + + + Gets or sets the translation component of this matrix. + + + + + Constructs a Matrix3x2 from the given components. + + + + + Creates a translation matrix from the given vector. + + The translation position. + A translation matrix. + + + + Creates a translation matrix from the given X and Y components. + + The X position. + The Y position. + A translation matrix. + + + + Creates a scale matrix from the given X and Y components. + + Value to scale by on the X-axis. + Value to scale by on the Y-axis. + A scaling matrix. + + + + Creates a scale matrix that is offset by a given center point. + + Value to scale by on the X-axis. + Value to scale by on the Y-axis. + The center point. + A scaling matrix. + + + + Creates a scale matrix from the given vector scale. + + The scale to use. + A scaling matrix. + + + + Creates a scale matrix from the given vector scale with an offset from the given center point. + + The scale to use. + The center offset. + A scaling matrix. + + + + Creates a scale matrix that scales uniformly with the given scale. + + The uniform scale to use. + A scaling matrix. + + + + Creates a scale matrix that scales uniformly with the given scale with an offset from the given center. + + The uniform scale to use. + The center offset. + A scaling matrix. + + + + Creates a skew matrix from the given angles in radians. + + The X angle, in radians. + The Y angle, in radians. + A skew matrix. + + + + Creates a skew matrix from the given angles in radians and a center point. + + The X angle, in radians. + The Y angle, in radians. + The center point. + A skew matrix. + + + + Creates a rotation matrix using the given rotation in radians. + + The amount of rotation, in radians. + A rotation matrix. + + + + Creates a rotation matrix using the given rotation in radians and a center point. + + The amount of rotation, in radians. + The center point. + A rotation matrix. + + + + Calculates the determinant for this matrix. + The determinant is calculated by expanding the matrix with a third column whose values are (0,0,1). + + The determinant. + + + + Attempts to invert the given matrix. If the operation succeeds, the inverted matrix is stored in the result parameter. + + The source matrix. + The output matrix. + True if the operation succeeded, False otherwise. + + + + Linearly interpolates from matrix1 to matrix2, based on the third parameter. + + The first source matrix. + The second source matrix. + The relative weighting of matrix2. + The interpolated matrix. + + + + Negates the given matrix by multiplying all values by -1. + + The source matrix. + The negated matrix. + + + + Adds each matrix element in value1 with its corresponding element in value2. + + The first source matrix. + The second source matrix. + The matrix containing the summed values. + + + + Subtracts each matrix element in value2 from its corresponding element in value1. + + The first source matrix. + The second source matrix. + The matrix containing the resulting values. + + + + Multiplies two matrices together and returns the resulting matrix. + + The first source matrix. + The second source matrix. + The product matrix. + + + + Scales all elements in a matrix by the given scalar factor. + + The source matrix. + The scaling value to use. + The resulting matrix. + + + + Negates the given matrix by multiplying all values by -1. + + The source matrix. + The negated matrix. + + + + Adds each matrix element in value1 with its corresponding element in value2. + + The first source matrix. + The second source matrix. + The matrix containing the summed values. + + + + Subtracts each matrix element in value2 from its corresponding element in value1. + + The first source matrix. + The second source matrix. + The matrix containing the resulting values. + + + + Multiplies two matrices together and returns the resulting matrix. + + The first source matrix. + The second source matrix. + The product matrix. + + + + Scales all elements in a matrix by the given scalar factor. + + The source matrix. + The scaling value to use. + The resulting matrix. + + + + Returns a boolean indicating whether the given matrices are equal. + + The first source matrix. + The second source matrix. + True if the matrices are equal; False otherwise. + + + + Returns a boolean indicating whether the given matrices are not equal. + + The first source matrix. + The second source matrix. + True if the matrices are not equal; False if they are equal. + + + + Returns a boolean indicating whether the matrix is equal to the other given matrix. + + The other matrix to test equality against. + True if this matrix is equal to other; False otherwise. + + + + Returns a boolean indicating whether the given Object is equal to this matrix instance. + + The Object to compare against. + True if the Object is equal to this matrix; False otherwise. + + + + Returns a String representing this matrix instance. + + The string representation. + + + + Returns the hash code for this instance. + + The hash code. + + + + A structure encapsulating a 4x4 matrix. + + + + + Value at row 1, column 1 of the matrix. + + + + + Value at row 1, column 2 of the matrix. + + + + + Value at row 1, column 3 of the matrix. + + + + + Value at row 1, column 4 of the matrix. + + + + + Value at row 2, column 1 of the matrix. + + + + + Value at row 2, column 2 of the matrix. + + + + + Value at row 2, column 3 of the matrix. + + + + + Value at row 2, column 4 of the matrix. + + + + + Value at row 3, column 1 of the matrix. + + + + + Value at row 3, column 2 of the matrix. + + + + + Value at row 3, column 3 of the matrix. + + + + + Value at row 3, column 4 of the matrix. + + + + + Value at row 4, column 1 of the matrix. + + + + + Value at row 4, column 2 of the matrix. + + + + + Value at row 4, column 3 of the matrix. + + + + + Value at row 4, column 4 of the matrix. + + + + + Returns the multiplicative identity matrix. + + + + + Returns whether the matrix is the identity matrix. + + + + + Gets or sets the translation component of this matrix. + + + + + Constructs a Matrix4x4 from the given components. + + + + + Constructs a Matrix4x4 from the given Matrix3x2. + + The source Matrix3x2. + + + + Creates a spherical billboard that rotates around a specified object position. + + Position of the object the billboard will rotate around. + Position of the camera. + The up vector of the camera. + The forward vector of the camera. + The created billboard matrix + + + + Creates a cylindrical billboard that rotates around a specified axis. + + Position of the object the billboard will rotate around. + Position of the camera. + Axis to rotate the billboard around. + Forward vector of the camera. + Forward vector of the object. + The created billboard matrix. + + + + Creates a translation matrix. + + The amount to translate in each axis. + The translation matrix. + + + + Creates a translation matrix. + + The amount to translate on the X-axis. + The amount to translate on the Y-axis. + The amount to translate on the Z-axis. + The translation matrix. + + + + Creates a scaling matrix. + + Value to scale by on the X-axis. + Value to scale by on the Y-axis. + Value to scale by on the Z-axis. + The scaling matrix. + + + + Creates a scaling matrix with a center point. + + Value to scale by on the X-axis. + Value to scale by on the Y-axis. + Value to scale by on the Z-axis. + The center point. + The scaling matrix. + + + + Creates a scaling matrix. + + The vector containing the amount to scale by on each axis. + The scaling matrix. + + + + Creates a scaling matrix with a center point. + + The vector containing the amount to scale by on each axis. + The center point. + The scaling matrix. + + + + Creates a uniform scaling matrix that scales equally on each axis. + + The uniform scaling factor. + The scaling matrix. + + + + Creates a uniform scaling matrix that scales equally on each axis with a center point. + + The uniform scaling factor. + The center point. + The scaling matrix. + + + + Creates a matrix for rotating points around the X-axis. + + The amount, in radians, by which to rotate around the X-axis. + The rotation matrix. + + + + Creates a matrix for rotating points around the X-axis, from a center point. + + The amount, in radians, by which to rotate around the X-axis. + The center point. + The rotation matrix. + + + + Creates a matrix for rotating points around the Y-axis. + + The amount, in radians, by which to rotate around the Y-axis. + The rotation matrix. + + + + Creates a matrix for rotating points around the Y-axis, from a center point. + + The amount, in radians, by which to rotate around the Y-axis. + The center point. + The rotation matrix. + + + + Creates a matrix for rotating points around the Z-axis. + + The amount, in radians, by which to rotate around the Z-axis. + The rotation matrix. + + + + Creates a matrix for rotating points around the Z-axis, from a center point. + + The amount, in radians, by which to rotate around the Z-axis. + The center point. + The rotation matrix. + + + + Creates a matrix that rotates around an arbitrary vector. + + The axis to rotate around. + The angle to rotate around the given axis, in radians. + The rotation matrix. + + + + Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. + + Field of view in the y direction, in radians. + Aspect ratio, defined as view space width divided by height. + Distance to the near view plane. + Distance to the far view plane. + The perspective projection matrix. + + + + Creates a perspective projection matrix from the given view volume dimensions. + + Width of the view volume at the near view plane. + Height of the view volume at the near view plane. + Distance to the near view plane. + Distance to the far view plane. + The perspective projection matrix. + + + + Creates a customized, perspective projection matrix. + + Minimum x-value of the view volume at the near view plane. + Maximum x-value of the view volume at the near view plane. + Minimum y-value of the view volume at the near view plane. + Maximum y-value of the view volume at the near view plane. + Distance to the near view plane. + Distance to of the far view plane. + The perspective projection matrix. + + + + Creates an orthographic perspective matrix from the given view volume dimensions. + + Width of the view volume. + Height of the view volume. + Minimum Z-value of the view volume. + Maximum Z-value of the view volume. + The orthographic projection matrix. + + + + Builds a customized, orthographic projection matrix. + + Minimum X-value of the view volume. + Maximum X-value of the view volume. + Minimum Y-value of the view volume. + Maximum Y-value of the view volume. + Minimum Z-value of the view volume. + Maximum Z-value of the view volume. + The orthographic projection matrix. + + + + Creates a view matrix. + + The position of the camera. + The target towards which the camera is pointing. + The direction that is "up" from the camera's point of view. + The view matrix. + + + + Creates a world matrix with the specified parameters. + + The position of the object; used in translation operations. + Forward direction of the object. + Upward direction of the object; usually [0, 1, 0]. + The world matrix. + + + + Creates a rotation matrix from the given Quaternion rotation value. + + The source Quaternion. + The rotation matrix. + + + + Creates a rotation matrix from the specified yaw, pitch, and roll. + + Angle of rotation, in radians, around the Y-axis. + Angle of rotation, in radians, around the X-axis. + Angle of rotation, in radians, around the Z-axis. + The rotation matrix. + + + + Creates a Matrix that flattens geometry into a specified Plane as if casting a shadow from a specified light source. + + The direction from which the light that will cast the shadow is coming. + The Plane onto which the new matrix should flatten geometry so as to cast a shadow. + A new Matrix that can be used to flatten geometry onto the specified plane from the specified direction. + + + + Creates a Matrix that reflects the coordinate system about a specified Plane. + + The Plane about which to create a reflection. + A new matrix expressing the reflection. + + + + Calculates the determinant of the matrix. + + The determinant of the matrix. + + + + Attempts to calculate the inverse of the given matrix. If successful, result will contain the inverted matrix. + + The source matrix to invert. + If successful, contains the inverted matrix. + True if the source matrix could be inverted; False otherwise. + + + + Attempts to extract the scale, translation, and rotation components from the given scale/rotation/translation matrix. + If successful, the out parameters will contained the extracted values. + + The source matrix. + The scaling component of the transformation matrix. + The rotation component of the transformation matrix. + The translation component of the transformation matrix + True if the source matrix was successfully decomposed; False otherwise. + + + + Transforms the given matrix by applying the given Quaternion rotation. + + The source matrix to transform. + The rotation to apply. + The transformed matrix. + + + + Transposes the rows and columns of a matrix. + + The source matrix. + The transposed matrix. + + + + Linearly interpolates between the corresponding values of two matrices. + + The first source matrix. + The second source matrix. + The relative weight of the second source matrix. + The interpolated matrix. + + + + Returns a new matrix with the negated elements of the given matrix. + + The source matrix. + The negated matrix. + + + + Adds two matrices together. + + The first source matrix. + The second source matrix. + The resulting matrix. + + + + Subtracts the second matrix from the first. + + The first source matrix. + The second source matrix. + The result of the subtraction. + + + + Multiplies a matrix by another matrix. + + The first source matrix. + The second source matrix. + The result of the multiplication. + + + + Multiplies a matrix by a scalar value. + + The source matrix. + The scaling factor. + The scaled matrix. + + + + Returns a new matrix with the negated elements of the given matrix. + + The source matrix. + The negated matrix. + + + + Adds two matrices together. + + The first source matrix. + The second source matrix. + The resulting matrix. + + + + Subtracts the second matrix from the first. + + The first source matrix. + The second source matrix. + The result of the subtraction. + + + + Multiplies a matrix by another matrix. + + The first source matrix. + The second source matrix. + The result of the multiplication. + + + + Multiplies a matrix by a scalar value. + + The source matrix. + The scaling factor. + The scaled matrix. + + + + Returns a boolean indicating whether the given two matrices are equal. + + The first matrix to compare. + The second matrix to compare. + True if the given matrices are equal; False otherwise. + + + + Returns a boolean indicating whether the given two matrices are not equal. + + The first matrix to compare. + The second matrix to compare. + True if the given matrices are not equal; False if they are equal. + + + + Returns a boolean indicating whether this matrix instance is equal to the other given matrix. + + The matrix to compare this instance to. + True if the matrices are equal; False otherwise. + + + + Returns a boolean indicating whether the given Object is equal to this matrix instance. + + The Object to compare against. + True if the Object is equal to this matrix; False otherwise. + + + + Returns a String representing this matrix instance. + + The string representation. + + + + Returns the hash code for this instance. + + The hash code. + + + + A structure encapsulating a 3D Plane + + + + + The normal vector of the Plane. + + + + + The distance of the Plane along its normal from the origin. + + + + + Constructs a Plane from the X, Y, and Z components of its normal, and its distance from the origin on that normal. + + The X-component of the normal. + The Y-component of the normal. + The Z-component of the normal. + The distance of the Plane along its normal from the origin. + + + + Constructs a Plane from the given normal and distance along the normal from the origin. + + The Plane's normal vector. + The Plane's distance from the origin along its normal vector. + + + + Constructs a Plane from the given Vector4. + + A vector whose first 3 elements describe the normal vector, + and whose W component defines the distance along that normal from the origin. + + + + Creates a Plane that contains the three given points. + + The first point defining the Plane. + The second point defining the Plane. + The third point defining the Plane. + The Plane containing the three points. + + + + Creates a new Plane whose normal vector is the source Plane's normal vector normalized. + + The source Plane. + The normalized Plane. + + + + Transforms a normalized Plane by a Matrix. + + The normalized Plane to transform. + This Plane must already be normalized, so that its Normal vector is of unit length, before this method is called. + The transformation matrix to apply to the Plane. + The transformed Plane. + + + + Transforms a normalized Plane by a Quaternion rotation. + + The normalized Plane to transform. + This Plane must already be normalized, so that its Normal vector is of unit length, before this method is called. + The Quaternion rotation to apply to the Plane. + A new Plane that results from applying the rotation. + + + + Calculates the dot product of a Plane and Vector4. + + The Plane. + The Vector4. + The dot product. + + + + Returns the dot product of a specified Vector3 and the normal vector of this Plane plus the distance (D) value of the Plane. + + The plane. + The Vector3. + The resulting value. + + + + Returns the dot product of a specified Vector3 and the Normal vector of this Plane. + + The plane. + The Vector3. + The resulting dot product. + + + + Returns a boolean indicating whether the two given Planes are equal. + + The first Plane to compare. + The second Plane to compare. + True if the Planes are equal; False otherwise. + + + + Returns a boolean indicating whether the two given Planes are not equal. + + The first Plane to compare. + The second Plane to compare. + True if the Planes are not equal; False if they are equal. + + + + Returns a boolean indicating whether the given Plane is equal to this Plane instance. + + The Plane to compare this instance to. + True if the other Plane is equal to this instance; False otherwise. + + + + Returns a boolean indicating whether the given Object is equal to this Plane instance. + + The Object to compare against. + True if the Object is equal to this Plane; False otherwise. + + + + Returns a String representing this Plane instance. + + The string representation. + + + + Returns the hash code for this instance. + + The hash code. + + + + A structure encapsulating a four-dimensional vector (x,y,z,w), + which is used to efficiently rotate an object about the (x,y,z) vector by the angle theta, where w = cos(theta/2). + + + + + Specifies the X-value of the vector component of the Quaternion. + + + + + Specifies the Y-value of the vector component of the Quaternion. + + + + + Specifies the Z-value of the vector component of the Quaternion. + + + + + Specifies the rotation component of the Quaternion. + + + + + Returns a Quaternion representing no rotation. + + + + + Returns whether the Quaternion is the identity Quaternion. + + + + + Constructs a Quaternion from the given components. + + The X component of the Quaternion. + The Y component of the Quaternion. + The Z component of the Quaternion. + The W component of the Quaternion. + + + + Constructs a Quaternion from the given vector and rotation parts. + + The vector part of the Quaternion. + The rotation part of the Quaternion. + + + + Calculates the length of the Quaternion. + + The computed length of the Quaternion. + + + + Calculates the length squared of the Quaternion. This operation is cheaper than Length(). + + The length squared of the Quaternion. + + + + Divides each component of the Quaternion by the length of the Quaternion. + + The source Quaternion. + The normalized Quaternion. + + + + Creates the conjugate of a specified Quaternion. + + The Quaternion of which to return the conjugate. + A new Quaternion that is the conjugate of the specified one. + + + + Returns the inverse of a Quaternion. + + The source Quaternion. + The inverted Quaternion. + + + + Creates a Quaternion from a normalized vector axis and an angle to rotate about the vector. + + The unit vector to rotate around. + This vector must be normalized before calling this function or the resulting Quaternion will be incorrect. + The angle, in radians, to rotate around the vector. + The created Quaternion. + + + + Creates a new Quaternion from the given yaw, pitch, and roll, in radians. + + The yaw angle, in radians, around the Y-axis. + The pitch angle, in radians, around the X-axis. + The roll angle, in radians, around the Z-axis. + + + + + Creates a Quaternion from the given rotation matrix. + + The rotation matrix. + The created Quaternion. + + + + Calculates the dot product of two Quaternions. + + The first source Quaternion. + The second source Quaternion. + The dot product of the Quaternions. + + + + Interpolates between two quaternions, using spherical linear interpolation. + + The first source Quaternion. + The second source Quaternion. + The relative weight of the second source Quaternion in the interpolation. + The interpolated Quaternion. + + + + Linearly interpolates between two quaternions. + + The first source Quaternion. + The second source Quaternion. + The relative weight of the second source Quaternion in the interpolation. + The interpolated Quaternion. + + + + Concatenates two Quaternions; the result represents the value1 rotation followed by the value2 rotation. + + The first Quaternion rotation in the series. + The second Quaternion rotation in the series. + A new Quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. + + + + Flips the sign of each component of the quaternion. + + The source Quaternion. + The negated Quaternion. + + + + Adds two Quaternions element-by-element. + + The first source Quaternion. + The second source Quaternion. + The result of adding the Quaternions. + + + + Subtracts one Quaternion from another. + + The first source Quaternion. + The second Quaternion, to be subtracted from the first. + The result of the subtraction. + + + + Multiplies two Quaternions together. + + The Quaternion on the left side of the multiplication. + The Quaternion on the right side of the multiplication. + The result of the multiplication. + + + + Multiplies a Quaternion by a scalar value. + + The source Quaternion. + The scalar value. + The result of the multiplication. + + + + Divides a Quaternion by another Quaternion. + + The source Quaternion. + The divisor. + The result of the division. + + + + Flips the sign of each component of the quaternion. + + The source Quaternion. + The negated Quaternion. + + + + Adds two Quaternions element-by-element. + + The first source Quaternion. + The second source Quaternion. + The result of adding the Quaternions. + + + + Subtracts one Quaternion from another. + + The first source Quaternion. + The second Quaternion, to be subtracted from the first. + The result of the subtraction. + + + + Multiplies two Quaternions together. + + The Quaternion on the left side of the multiplication. + The Quaternion on the right side of the multiplication. + The result of the multiplication. + + + + Multiplies a Quaternion by a scalar value. + + The source Quaternion. + The scalar value. + The result of the multiplication. + + + + Divides a Quaternion by another Quaternion. + + The source Quaternion. + The divisor. + The result of the division. + + + + Returns a boolean indicating whether the two given Quaternions are equal. + + The first Quaternion to compare. + The second Quaternion to compare. + True if the Quaternions are equal; False otherwise. + + + + Returns a boolean indicating whether the two given Quaternions are not equal. + + The first Quaternion to compare. + The second Quaternion to compare. + True if the Quaternions are not equal; False if they are equal. + + + + Returns a boolean indicating whether the given Quaternion is equal to this Quaternion instance. + + The Quaternion to compare this instance to. + True if the other Quaternion is equal to this instance; False otherwise. + + + + Returns a boolean indicating whether the given Object is equal to this Quaternion instance. + + The Object to compare against. + True if the Object is equal to this Quaternion; False otherwise. + + + + Returns a String representing this Quaternion instance. + + The string representation. + + + + Returns the hash code for this instance. + + The hash code. + + + + A structure describing the layout of an SSE2-sized register. + Contains overlapping fields representing the set of valid numeric types. + Allows the generic Vector'T struct to contain an explicit field layout. + + + + + A structure that represents a single Vector. The count of this Vector is fixed but CPU register dependent. + This struct only supports numerical types. This type is intended to be used as a building block for vectorizing + large algorithms. This type is immutable, individual elements cannot be modified. + + + + + Returns the number of elements stored in the vector. This value is hardware dependent. + + + + + Returns a vector containing all zeroes. + + + + + Returns a vector containing all ones. + + + + + Constructs a vector whose components are all value + + + + + Constructs a vector from the given array. The size of the given array must be at least Vector'T.Count. + + + + + Constructs a vector from the given array, starting from the given index. + The array must contain at least Vector'T.Count from the given index. + + + + + Copies the vector to the given destination array. The destination array must be at least size Vector'T.Count. + + The destination array which the values are copied into + If the destination array is null + If number of elements in source vector is greater than those available in destination array + + + + Copies the vector to the given destination array. The destination array must be at least size Vector'T.Count. + + The destination array which the values are copied into + The index to start copying to + If the destination array is null + If index is greater than end of the array or index is less than zero + If number of elements in source vector is greater than those available in destination array + + + + Returns the element at the given index. + + + + + Returns a boolean indicating whether the given Object is equal to this vector instance. + + The Object to compare against. + True if the Object is equal to this vector; False otherwise. + + + + Returns a boolean indicating whether the given vector is equal to this vector instance. + + The vector to compare this instance to. + True if the other vector is equal to this instance; False otherwise. + + + + Returns the hash code for this instance. + + The hash code. + + + + Returns a String representing this vector. + + The string representation. + + + + Returns a String representing this vector, using the specified format string to format individual elements. + + The format of individual elements. + The string representation. + + + + Returns a String representing this vector, using the specified format string to format individual elements + and the given IFormatProvider. + + The format of individual elements. + The format provider to use when formatting elements. + The string representation. + + + + Adds two vectors together. + + The first source vector. + The second source vector. + The summed vector. + + + + Subtracts the second vector from the first. + + The first source vector. + The second source vector. + The difference vector. + + + + Multiplies two vectors together. + + The first source vector. + The second source vector. + The product vector. + + + + Multiplies a vector by the given scalar. + + The source vector. + The scalar value. + The scaled vector. + + + + Multiplies a vector by the given scalar. + + The scalar value. + The source vector. + The scaled vector. + + + + Divides the first vector by the second. + + The first source vector. + The second source vector. + The vector resulting from the division. + + + + Negates a given vector. + + The source vector. + The negated vector. + + + + Returns a new vector by performing a bitwise-and operation on each of the elements in the given vectors. + + The first source vector. + The second source vector. + The resultant vector. + + + + Returns a new vector by performing a bitwise-or operation on each of the elements in the given vectors. + + The first source vector. + The second source vector. + The resultant vector. + + + + Returns a new vector by performing a bitwise-exclusive-or operation on each of the elements in the given vectors. + + The first source vector. + The second source vector. + The resultant vector. + + + + Returns a new vector whose elements are obtained by taking the one's complement of the given vector's elements. + + The source vector. + The one's complement vector. + + + + Returns a boolean indicating whether each pair of elements in the given vectors are equal. + + The first vector to compare. + The first vector to compare. + True if all elements are equal; False otherwise. + + + + Returns a boolean indicating whether any single pair of elements in the given vectors are not equal. + + The first vector to compare. + The second vector to compare. + True if left and right are not equal; False otherwise. + + + + Reinterprets the bits of the given vector into those of another type. + + The source vector + The reinterpreted vector. + + + + Reinterprets the bits of the given vector into those of another type. + + The source vector + The reinterpreted vector. + + + + Reinterprets the bits of the given vector into those of another type. + + The source vector + The reinterpreted vector. + + + + Reinterprets the bits of the given vector into those of another type. + + The source vector + The reinterpreted vector. + + + + Reinterprets the bits of the given vector into those of another type. + + The source vector + The reinterpreted vector. + + + + Reinterprets the bits of the given vector into those of another type. + + The source vector + The reinterpreted vector. + + + + Reinterprets the bits of the given vector into those of another type. + + The source vector + The reinterpreted vector. + + + + Reinterprets the bits of the given vector into those of another type. + + The source vector + The reinterpreted vector. + + + + Reinterprets the bits of the given vector into those of another type. + + The source vector + The reinterpreted vector. + + + + Reinterprets the bits of the given vector into those of another type. + + The source vector + The reinterpreted vector. + + + + Contains various methods useful for creating, manipulating, combining, and converting generic vectors with one another. + + + + + Widens a Vector{Byte} into two Vector{UInt16}'s. + The source vector whose elements are widened into the outputs. + The first output vector, whose elements will contain the widened elements from lower indices in the source vector. + The second output vector, whose elements will contain the widened elements from higher indices in the source vector. + + + + + Widens a Vector{UInt16} into two Vector{UInt32}'s. + The source vector whose elements are widened into the outputs. + The first output vector, whose elements will contain the widened elements from lower indices in the source vector. + The second output vector, whose elements will contain the widened elements from higher indices in the source vector. + + + + + Widens a Vector{UInt32} into two Vector{UInt64}'s. + The source vector whose elements are widened into the outputs. + The first output vector, whose elements will contain the widened elements from lower indices in the source vector. + The second output vector, whose elements will contain the widened elements from higher indices in the source vector. + + + + + Widens a Vector{SByte} into two Vector{Int16}'s. + The source vector whose elements are widened into the outputs. + The first output vector, whose elements will contain the widened elements from lower indices in the source vector. + The second output vector, whose elements will contain the widened elements from higher indices in the source vector. + + + + + Widens a Vector{Int16} into two Vector{Int32}'s. + The source vector whose elements are widened into the outputs. + The first output vector, whose elements will contain the widened elements from lower indices in the source vector. + The second output vector, whose elements will contain the widened elements from higher indices in the source vector. + + + + + Widens a Vector{Int32} into two Vector{Int64}'s. + The source vector whose elements are widened into the outputs. + The first output vector, whose elements will contain the widened elements from lower indices in the source vector. + The second output vector, whose elements will contain the widened elements from higher indices in the source vector. + + + + + Widens a Vector{Single} into two Vector{Double}'s. + The source vector whose elements are widened into the outputs. + The first output vector, whose elements will contain the widened elements from lower indices in the source vector. + The second output vector, whose elements will contain the widened elements from higher indices in the source vector. + + + + + Narrows two Vector{UInt16}'s into one Vector{Byte}. + The first source vector, whose elements become the lower-index elements of the return value. + The second source vector, whose elements become the higher-index elements of the return value. + A Vector{Byte} containing elements narrowed from the source vectors. + + + + + Narrows two Vector{UInt32}'s into one Vector{UInt16}. + The first source vector, whose elements become the lower-index elements of the return value. + The second source vector, whose elements become the higher-index elements of the return value. + A Vector{UInt16} containing elements narrowed from the source vectors. + + + + + Narrows two Vector{UInt64}'s into one Vector{UInt32}. + The first source vector, whose elements become the lower-index elements of the return value. + The second source vector, whose elements become the higher-index elements of the return value. + A Vector{UInt32} containing elements narrowed from the source vectors. + + + + + Narrows two Vector{Int16}'s into one Vector{SByte}. + The first source vector, whose elements become the lower-index elements of the return value. + The second source vector, whose elements become the higher-index elements of the return value. + A Vector{SByte} containing elements narrowed from the source vectors. + + + + + Narrows two Vector{Int32}'s into one Vector{Int16}. + The first source vector, whose elements become the lower-index elements of the return value. + The second source vector, whose elements become the higher-index elements of the return value. + A Vector{Int16} containing elements narrowed from the source vectors. + + + + + Narrows two Vector{Int64}'s into one Vector{Int32}. + The first source vector, whose elements become the lower-index elements of the return value. + The second source vector, whose elements become the higher-index elements of the return value. + A Vector{Int32} containing elements narrowed from the source vectors. + + + + + Narrows two Vector{Double}'s into one Vector{Single}. + The first source vector, whose elements become the lower-index elements of the return value. + The second source vector, whose elements become the higher-index elements of the return value. + A Vector{Single} containing elements narrowed from the source vectors. + + + + + Converts a Vector{Int32} to a Vector{Single}. + + The source vector. + The converted vector. + + + + Converts a Vector{UInt32} to a Vector{Single}. + + The source vector. + The converted vector. + + + + Converts a Vector{Int64} to a Vector{Double}. + + The source vector. + The converted vector. + + + + Converts a Vector{UInt64} to a Vector{Double}. + + The source vector. + The converted vector. + + + + Converts a Vector{Single} to a Vector{Int32}. + + The source vector. + The converted vector. + + + + Converts a Vector{Single} to a Vector{UInt32}. + + The source vector. + The converted vector. + + + + Converts a Vector{Double} to a Vector{Int64}. + + The source vector. + The converted vector. + + + + Converts a Vector{Double} to a Vector{UInt64}. + + The source vector. + The converted vector. + + + + Creates a new vector with elements selected between the two given source vectors, and based on a mask vector. + + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + + Creates a new vector with elements selected between the two given source vectors, and based on a mask vector. + + The integral mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + + Creates a new vector with elements selected between the two given source vectors, and based on a mask vector. + + The mask vector used to drive selection. + The first source vector. + The second source vector. + The new vector with elements selected based on the mask. + + + + Returns a new vector whose elements signal whether the elements in left and right were equal. + + The first vector to compare. + The second vector to compare. + The resultant vector. + + + + Returns an integral vector whose elements signal whether elements in the left and right floating point vectors were equal. + + The first vector to compare. + The second vector to compare. + The resultant vector. + + + + Returns a new vector whose elements signal whether the elements in left and right were equal. + + The first vector to compare. + The second vector to compare. + The resultant vector. + + + + Returns an integral vector whose elements signal whether elements in the left and right floating point vectors were equal. + + The first vector to compare. + The second vector to compare. + The resultant vector. + + + + Returns a new vector whose elements signal whether the elements in left and right were equal. + + The first vector to compare. + The second vector to compare. + The resultant vector. + + + + Returns a boolean indicating whether each pair of elements in the given vectors are equal. + + The first vector to compare. + The first vector to compare. + True if all elements are equal; False otherwise. + + + + Returns a boolean indicating whether any single pair of elements in the given vectors are equal. + + The first vector to compare. + The second vector to compare. + True if any element pairs are equal; False if no element pairs are equal. + + + + Returns a new vector whose elements signal whether the elements in left were less than their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant vector. + + + + Returns an integral vector whose elements signal whether the elements in left were less than their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant integral vector. + + + + Returns a new vector whose elements signal whether the elements in left were less than their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant vector. + + + + Returns an integral vector whose elements signal whether the elements in left were less than their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant integral vector. + + + + Returns a new vector whose elements signal whether the elements in left were less than their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant vector. + + + + Returns a boolean indicating whether all of the elements in left are less than their corresponding elements in right. + + The first vector to compare. + The second vector to compare. + True if all elements in left are less than their corresponding elements in right; False otherwise. + + + + Returns a boolean indicating whether any element in left is less than its corresponding element in right. + + The first vector to compare. + The second vector to compare. + True if any elements in left are less than their corresponding elements in right; False otherwise. + + + + Returns a new vector whose elements signal whether the elements in left were less than or equal to their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant vector. + + + + Returns an integral vector whose elements signal whether the elements in left were less than or equal to their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant integral vector. + + + + Returns a new vector whose elements signal whether the elements in left were less than or equal to their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant vector. + + + + Returns a new vector whose elements signal whether the elements in left were less than or equal to their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant vector. + + + + Returns an integral vector whose elements signal whether the elements in left were less than or equal to their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant integral vector. + + + + Returns a boolean indicating whether all elements in left are less than or equal to their corresponding elements in right. + + The first vector to compare. + The second vector to compare. + True if all elements in left are less than or equal to their corresponding elements in right; False otherwise. + + + + Returns a boolean indicating whether any element in left is less than or equal to its corresponding element in right. + + The first vector to compare. + The second vector to compare. + True if any elements in left are less than their corresponding elements in right; False otherwise. + + + + Returns a new vector whose elements signal whether the elements in left were greater than their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant vector. + + + + Returns an integral vector whose elements signal whether the elements in left were greater than their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant integral vector. + + + + Returns a new vector whose elements signal whether the elements in left were greater than their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant vector. + + + + Returns an integral vector whose elements signal whether the elements in left were greater than their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant integral vector. + + + + Returns a new vector whose elements signal whether the elements in left were greater than their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant vector. + + + + Returns a boolean indicating whether all elements in left are greater than the corresponding elements in right. + elements in right. + + The first vector to compare. + The second vector to compare. + True if all elements in left are greater than their corresponding elements in right; False otherwise. + + + + Returns a boolean indicating whether any element in left is greater than its corresponding element in right. + + The first vector to compare. + The second vector to compare. + True if any elements in left are greater than their corresponding elements in right; False otherwise. + + + + Returns a new vector whose elements signal whether the elements in left were greater than or equal to their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant vector. + + + + Returns an integral vector whose elements signal whether the elements in left were greater than or equal to their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant integral vector. + + + + Returns a new vector whose elements signal whether the elements in left were greater than or equal to their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant vector. + + + + Returns a new vector whose elements signal whether the elements in left were greater than or equal to their + corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant vector. + + + + Returns an integral vector whose elements signal whether the elements in left were greater than or equal to + their corresponding elements in right. + + The first vector to compare. + The second vector to compare. + The resultant integral vector. + + + + Returns a boolean indicating whether all of the elements in left are greater than or equal to + their corresponding elements in right. + + The first vector to compare. + The second vector to compare. + True if all elements in left are greater than or equal to their corresponding elements in right; False otherwise. + + + + Returns a boolean indicating whether any element in left is greater than or equal to its corresponding element in right. + + The first vector to compare. + The second vector to compare. + True if any elements in left are greater than or equal to their corresponding elements in right; False otherwise. + + + + Returns whether or not vector operations are subject to hardware acceleration through JIT intrinsic support. + + + + + Returns a new vector whose elements are the absolute values of the given vector's elements. + + The source vector. + The absolute value vector. + + + + Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. + + The first source vector. + The second source vector. + The minimum vector. + + + + Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. + + The first source vector. + The second source vector. + The maximum vector. + + + + Returns the dot product of two vectors. + + The first source vector. + The second source vector. + The dot product. + + + + Returns a new vector whose elements are the square roots of the given vector's elements. + + The source vector. + The square root vector. + + + + Creates a new vector whose values are the sum of each pair of elements from the two given vectors. + + The first source vector. + The second source vector. + The summed vector. + + + + Creates a new vector whose values are the difference between each pairs of elements in the given vectors. + + The first source vector. + The second source vector. + The difference vector. + + + + Creates a new vector whose values are the product of each pair of elements from the two given vectors. + + The first source vector. + The second source vector. + The summed vector. + + + + Returns a new vector whose values are the values of the given vector each multiplied by a scalar value. + + The source vector. + The scalar factor. + The scaled vector. + + + + Returns a new vector whose values are the values of the given vector each multiplied by a scalar value. + + The scalar factor. + The source vector. + The scaled vector. + + + + Returns a new vector whose values are the result of dividing the first vector's elements + by the corresponding elements in the second vector. + + The first source vector. + The second source vector. + The divided vector. + + + + Returns a new vector whose elements are the given vector's elements negated. + + The source vector. + The negated vector. + + + + Returns a new vector by performing a bitwise-and operation on each of the elements in the given vectors. + + The first source vector. + The second source vector. + The resultant vector. + + + + Returns a new vector by performing a bitwise-or operation on each of the elements in the given vectors. + + The first source vector. + The second source vector. + The resultant vector. + + + + Returns a new vector whose elements are obtained by taking the one's complement of the given vector's elements. + + The source vector. + The one's complement vector. + + + + Returns a new vector by performing a bitwise-exclusive-or operation on each of the elements in the given vectors. + + The first source vector. + The second source vector. + The resultant vector. + + + + Returns a new vector by performing a bitwise-and-not operation on each of the elements in the given vectors. + + The first source vector. + The second source vector. + The resultant vector. + + + + Reinterprets the bits of the given vector into those of a vector of unsigned bytes. + + The source vector + The reinterpreted vector. + + + + Reinterprets the bits of the given vector into those of a vector of signed bytes. + + The source vector + The reinterpreted vector. + + + + Reinterprets the bits of the given vector into those of a vector of 16-bit integers. + + The source vector + The reinterpreted vector. + + + + Reinterprets the bits of the given vector into those of a vector of signed 16-bit integers. + + The source vector + The reinterpreted vector. + + + + Reinterprets the bits of the given vector into those of a vector of unsigned 32-bit integers. + + The source vector + The reinterpreted vector. + + + + Reinterprets the bits of the given vector into those of a vector of signed 32-bit integers. + + The source vector + The reinterpreted vector. + + + + Reinterprets the bits of the given vector into those of a vector of unsigned 64-bit integers. + + The source vector + The reinterpreted vector. + + + + Reinterprets the bits of the given vector into those of a vector of signed 64-bit integers. + + The source vector + The reinterpreted vector. + + + + Reinterprets the bits of the given vector into those of a vector of 32-bit floating point numbers. + + The source vector + The reinterpreted vector. + + + + Reinterprets the bits of the given vector into those of a vector of 64-bit floating point numbers. + + The source vector + The reinterpreted vector. + + + + A structure encapsulating two single precision floating point values and provides hardware accelerated methods. + + + + + Returns the vector (0,0). + + + + + Returns the vector (1,1). + + + + + Returns the vector (1,0). + + + + + Returns the vector (0,1). + + + + + Returns the hash code for this instance. + + The hash code. + + + + Returns a boolean indicating whether the given Object is equal to this Vector2 instance. + + The Object to compare against. + True if the Object is equal to this Vector2; False otherwise. + + + + Returns a String representing this Vector2 instance. + + The string representation. + + + + Returns a String representing this Vector2 instance, using the specified format to format individual elements. + + The format of individual elements. + The string representation. + + + + Returns a String representing this Vector2 instance, using the specified format to format individual elements + and the given IFormatProvider. + + The format of individual elements. + The format provider to use when formatting elements. + The string representation. + + + + Returns the length of the vector. + + The vector's length. + + + + Returns the length of the vector squared. This operation is cheaper than Length(). + + The vector's length squared. + + + + Returns the Euclidean distance between the two given points. + + The first point. + The second point. + The distance. + + + + Returns the Euclidean distance squared between the two given points. + + The first point. + The second point. + The distance squared. + + + + Returns a vector with the same direction as the given vector, but with a length of 1. + + The vector to normalize. + The normalized vector. + + + + Returns the reflection of a vector off a surface that has the specified normal. + + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + + Restricts a vector between a min and max value. + + The source vector. + The minimum value. + The maximum value. + + + + Linearly interpolates between two vectors based on the given weighting. + + The first source vector. + The second source vector. + Value between 0 and 1 indicating the weight of the second source vector. + The interpolated vector. + + + + Transforms a vector by the given matrix. + + The source vector. + The transformation matrix. + The transformed vector. + + + + Transforms a vector by the given matrix. + + The source vector. + The transformation matrix. + The transformed vector. + + + + Transforms a vector normal by the given matrix. + + The source vector. + The transformation matrix. + The transformed vector. + + + + Transforms a vector normal by the given matrix. + + The source vector. + The transformation matrix. + The transformed vector. + + + + Transforms a vector by the given Quaternion rotation value. + + The source vector to be rotated. + The rotation to apply. + The transformed vector. + + + + Adds two vectors together. + + The first source vector. + The second source vector. + The summed vector. + + + + Subtracts the second vector from the first. + + The first source vector. + The second source vector. + The difference vector. + + + + Multiplies two vectors together. + + The first source vector. + The second source vector. + The product vector. + + + + Multiplies a vector by the given scalar. + + The source vector. + The scalar value. + The scaled vector. + + + + Multiplies a vector by the given scalar. + + The scalar value. + The source vector. + The scaled vector. + + + + Divides the first vector by the second. + + The first source vector. + The second source vector. + The vector resulting from the division. + + + + Divides the vector by the given scalar. + + The source vector. + The scalar value. + The result of the division. + + + + Negates a given vector. + + The source vector. + The negated vector. + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + Constructs a vector whose elements are all the single specified value. + + The element to fill the vector with. + + + + Constructs a vector with the given individual elements. + + The X component. + The Y component. + + + + Copies the contents of the vector into the given array. + + The destination array. + + + + Copies the contents of the vector into the given array, starting from the given index. + + If array is null. + If array is multidimensional. + If index is greater than end of the array or index is less than zero. + If number of elements in source vector is greater than those available in destination array + or if there are not enough elements to copy. + + + + Returns a boolean indicating whether the given Vector2 is equal to this Vector2 instance. + + The Vector2 to compare this instance to. + True if the other Vector2 is equal to this instance; False otherwise. + + + + Returns the dot product of two vectors. + + The first vector. + The second vector. + The dot product. + + + + Returns a vector whose elements are the minimum of each of the pairs of elements in the two source vectors. + + The first source vector. + The second source vector. + The minimized vector. + + + + Returns a vector whose elements are the maximum of each of the pairs of elements in the two source vectors + + The first source vector + The second source vector + The maximized vector + + + + Returns a vector whose elements are the absolute values of each of the source vector's elements. + + The source vector. + The absolute value vector. + + + + Returns a vector whose elements are the square root of each of the source vector's elements. + + The source vector. + The square root vector. + + + + Adds two vectors together. + + The first source vector. + The second source vector. + The summed vector. + + + + Subtracts the second vector from the first. + + The first source vector. + The second source vector. + The difference vector. + + + + Multiplies two vectors together. + + The first source vector. + The second source vector. + The product vector. + + + + Multiplies a vector by the given scalar. + + The scalar value. + The source vector. + The scaled vector. + + + + Multiplies a vector by the given scalar. + + The source vector. + The scalar value. + The scaled vector. + + + + Divides the first vector by the second. + + The first source vector. + The second source vector. + The vector resulting from the division. + + + + Divides the vector by the given scalar. + + The source vector. + The scalar value. + The result of the division. + + + + Negates a given vector. + + The source vector. + The negated vector. + + + + Returns a boolean indicating whether the two given vectors are equal. + + The first vector to compare. + The second vector to compare. + True if the vectors are equal; False otherwise. + + + + Returns a boolean indicating whether the two given vectors are not equal. + + The first vector to compare. + The second vector to compare. + True if the vectors are not equal; False if they are equal. + + + + A structure encapsulating three single precision floating point values and provides hardware accelerated methods. + + + + + Returns the vector (0,0,0). + + + + + Returns the vector (1,1,1). + + + + + Returns the vector (1,0,0). + + + + + Returns the vector (0,1,0). + + + + + Returns the vector (0,0,1). + + + + + Returns the hash code for this instance. + + The hash code. + + + + Returns a boolean indicating whether the given Object is equal to this Vector3 instance. + + The Object to compare against. + True if the Object is equal to this Vector3; False otherwise. + + + + Returns a String representing this Vector3 instance. + + The string representation. + + + + Returns a String representing this Vector3 instance, using the specified format to format individual elements. + + The format of individual elements. + The string representation. + + + + Returns a String representing this Vector3 instance, using the specified format to format individual elements + and the given IFormatProvider. + + The format of individual elements. + The format provider to use when formatting elements. + The string representation. + + + + Returns the length of the vector. + + The vector's length. + + + + Returns the length of the vector squared. This operation is cheaper than Length(). + + The vector's length squared. + + + + Returns the Euclidean distance between the two given points. + + The first point. + The second point. + The distance. + + + + Returns the Euclidean distance squared between the two given points. + + The first point. + The second point. + The distance squared. + + + + Returns a vector with the same direction as the given vector, but with a length of 1. + + The vector to normalize. + The normalized vector. + + + + Computes the cross product of two vectors. + + The first vector. + The second vector. + The cross product. + + + + Returns the reflection of a vector off a surface that has the specified normal. + + The source vector. + The normal of the surface being reflected off. + The reflected vector. + + + + Restricts a vector between a min and max value. + + The source vector. + The minimum value. + The maximum value. + The restricted vector. + + + + Linearly interpolates between two vectors based on the given weighting. + + The first source vector. + The second source vector. + Value between 0 and 1 indicating the weight of the second source vector. + The interpolated vector. + + + + Transforms a vector by the given matrix. + + The source vector. + The transformation matrix. + The transformed vector. + + + + Transforms a vector normal by the given matrix. + + The source vector. + The transformation matrix. + The transformed vector. + + + + Transforms a vector by the given Quaternion rotation value. + + The source vector to be rotated. + The rotation to apply. + The transformed vector. + + + + Adds two vectors together. + + The first source vector. + The second source vector. + The summed vector. + + + + Subtracts the second vector from the first. + + The first source vector. + The second source vector. + The difference vector. + + + + Multiplies two vectors together. + + The first source vector. + The second source vector. + The product vector. + + + + Multiplies a vector by the given scalar. + + The source vector. + The scalar value. + The scaled vector. + + + + Multiplies a vector by the given scalar. + + The scalar value. + The source vector. + The scaled vector. + + + + Divides the first vector by the second. + + The first source vector. + The second source vector. + The vector resulting from the division. + + + + Divides the vector by the given scalar. + + The source vector. + The scalar value. + The result of the division. + + + + Negates a given vector. + + The source vector. + The negated vector. + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + Constructs a vector whose elements are all the single specified value. + + The element to fill the vector with. + + + + Constructs a Vector3 from the given Vector2 and a third value. + + The Vector to extract X and Y components from. + The Z component. + + + + Constructs a vector with the given individual elements. + + The X component. + The Y component. + The Z component. + + + + Copies the contents of the vector into the given array. + + + + + Copies the contents of the vector into the given array, starting from index. + + If array is null. + If array is multidimensional. + If index is greater than end of the array or index is less than zero. + If number of elements in source vector is greater than those available in destination array. + + + + Returns a boolean indicating whether the given Vector3 is equal to this Vector3 instance. + + The Vector3 to compare this instance to. + True if the other Vector3 is equal to this instance; False otherwise. + + + + Returns the dot product of two vectors. + + The first vector. + The second vector. + The dot product. + + + + Returns a vector whose elements are the minimum of each of the pairs of elements in the two source vectors. + + The first source vector. + The second source vector. + The minimized vector. + + + + Returns a vector whose elements are the maximum of each of the pairs of elements in the two source vectors. + + The first source vector. + The second source vector. + The maximized vector. + + + + Returns a vector whose elements are the absolute values of each of the source vector's elements. + + The source vector. + The absolute value vector. + + + + Returns a vector whose elements are the square root of each of the source vector's elements. + + The source vector. + The square root vector. + + + + Adds two vectors together. + + The first source vector. + The second source vector. + The summed vector. + + + + Subtracts the second vector from the first. + + The first source vector. + The second source vector. + The difference vector. + + + + Multiplies two vectors together. + + The first source vector. + The second source vector. + The product vector. + + + + Multiplies a vector by the given scalar. + + The source vector. + The scalar value. + The scaled vector. + + + + Multiplies a vector by the given scalar. + + The scalar value. + The source vector. + The scaled vector. + + + + Divides the first vector by the second. + + The first source vector. + The second source vector. + The vector resulting from the division. + + + + Divides the vector by the given scalar. + + The source vector. + The scalar value. + The result of the division. + + + + Negates a given vector. + + The source vector. + The negated vector. + + + + Returns a boolean indicating whether the two given vectors are equal. + + The first vector to compare. + The second vector to compare. + True if the vectors are equal; False otherwise. + + + + Returns a boolean indicating whether the two given vectors are not equal. + + The first vector to compare. + The second vector to compare. + True if the vectors are not equal; False if they are equal. + + + + A structure encapsulating four single precision floating point values and provides hardware accelerated methods. + + + + + Returns the vector (0,0,0,0). + + + + + Returns the vector (1,1,1,1). + + + + + Returns the vector (1,0,0,0). + + + + + Returns the vector (0,1,0,0). + + + + + Returns the vector (0,0,1,0). + + + + + Returns the vector (0,0,0,1). + + + + + Returns the hash code for this instance. + + The hash code. + + + + Returns a boolean indicating whether the given Object is equal to this Vector4 instance. + + The Object to compare against. + True if the Object is equal to this Vector4; False otherwise. + + + + Returns a String representing this Vector4 instance. + + The string representation. + + + + Returns a String representing this Vector4 instance, using the specified format to format individual elements. + + The format of individual elements. + The string representation. + + + + Returns a String representing this Vector4 instance, using the specified format to format individual elements + and the given IFormatProvider. + + The format of individual elements. + The format provider to use when formatting elements. + The string representation. + + + + Returns the length of the vector. This operation is cheaper than Length(). + + The vector's length. + + + + Returns the length of the vector squared. + + The vector's length squared. + + + + Returns the Euclidean distance between the two given points. + + The first point. + The second point. + The distance. + + + + Returns the Euclidean distance squared between the two given points. + + The first point. + The second point. + The distance squared. + + + + Returns a vector with the same direction as the given vector, but with a length of 1. + + The vector to normalize. + The normalized vector. + + + + Restricts a vector between a min and max value. + + The source vector. + The minimum value. + The maximum value. + The restricted vector. + + + + Linearly interpolates between two vectors based on the given weighting. + + The first source vector. + The second source vector. + Value between 0 and 1 indicating the weight of the second source vector. + The interpolated vector. + + + + Transforms a vector by the given matrix. + + The source vector. + The transformation matrix. + The transformed vector. + + + + Transforms a vector by the given matrix. + + The source vector. + The transformation matrix. + The transformed vector. + + + + Transforms a vector by the given matrix. + + The source vector. + The transformation matrix. + The transformed vector. + + + + Transforms a vector by the given Quaternion rotation value. + + The source vector to be rotated. + The rotation to apply. + The transformed vector. + + + + Transforms a vector by the given Quaternion rotation value. + + The source vector to be rotated. + The rotation to apply. + The transformed vector. + + + + Transforms a vector by the given Quaternion rotation value. + + The source vector to be rotated. + The rotation to apply. + The transformed vector. + + + + Adds two vectors together. + + The first source vector. + The second source vector. + The summed vector. + + + + Subtracts the second vector from the first. + + The first source vector. + The second source vector. + The difference vector. + + + + Multiplies two vectors together. + + The first source vector. + The second source vector. + The product vector. + + + + Multiplies a vector by the given scalar. + + The source vector. + The scalar value. + The scaled vector. + + + + Multiplies a vector by the given scalar. + + The scalar value. + The source vector. + The scaled vector. + + + + Divides the first vector by the second. + + The first source vector. + The second source vector. + The vector resulting from the division. + + + + Divides the vector by the given scalar. + + The source vector. + The scalar value. + The result of the division. + + + + Negates a given vector. + + The source vector. + The negated vector. + + + + The X component of the vector. + + + + + The Y component of the vector. + + + + + The Z component of the vector. + + + + + The W component of the vector. + + + + + Constructs a vector whose elements are all the single specified value. + + The element to fill the vector with. + + + + Constructs a vector with the given individual elements. + + W component. + X component. + Y component. + Z component. + + + + Constructs a Vector4 from the given Vector2 and a Z and W component. + + The vector to use as the X and Y components. + The Z component. + The W component. + + + + Constructs a Vector4 from the given Vector3 and a W component. + + The vector to use as the X, Y, and Z components. + The W component. + + + + Copies the contents of the vector into the given array. + + + + + Copies the contents of the vector into the given array, starting from index. + + If array is null. + If array is multidimensional. + If index is greater than end of the array or index is less than zero. + If number of elements in source vector is greater than those available in destination array. + + + + Returns a boolean indicating whether the given Vector4 is equal to this Vector4 instance. + + The Vector4 to compare this instance to. + True if the other Vector4 is equal to this instance; False otherwise. + + + + Returns the dot product of two vectors. + + The first vector. + The second vector. + The dot product. + + + + Returns a vector whose elements are the minimum of each of the pairs of elements in the two source vectors. + + The first source vector. + The second source vector. + The minimized vector. + + + + Returns a vector whose elements are the maximum of each of the pairs of elements in the two source vectors. + + The first source vector. + The second source vector. + The maximized vector. + + + + Returns a vector whose elements are the absolute values of each of the source vector's elements. + + The source vector. + The absolute value vector. + + + + Returns a vector whose elements are the square root of each of the source vector's elements. + + The source vector. + The square root vector. + + + + Adds two vectors together. + + The first source vector. + The second source vector. + The summed vector. + + + + Subtracts the second vector from the first. + + The first source vector. + The second source vector. + The difference vector. + + + + Multiplies two vectors together. + + The first source vector. + The second source vector. + The product vector. + + + + Multiplies a vector by the given scalar. + + The source vector. + The scalar value. + The scaled vector. + + + + Multiplies a vector by the given scalar. + + The scalar value. + The source vector. + The scaled vector. + + + + Divides the first vector by the second. + + The first source vector. + The second source vector. + The vector resulting from the division. + + + + Divides the vector by the given scalar. + + The source vector. + The scalar value. + The result of the division. + + + + Negates a given vector. + + The source vector. + The negated vector. + + + + Returns a boolean indicating whether the two given vectors are equal. + + The first vector to compare. + The second vector to compare. + True if the vectors are equal; False otherwise. + + + + Returns a boolean indicating whether the two given vectors are not equal. + + The first vector to compare. + The second vector to compare. + True if the vectors are not equal; False if they are equal. + + + Index was out of bounds: + + + Number of elements in source vector is greater than the destination array + + + The method was called with a null array argument. + + + Specified type is not supported + + + At least {0} element(s) are expected in the parameter "{1}". + + + diff --git a/bin/Debug/System.Runtime.CompilerServices.Unsafe.dll b/bin/Debug/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000..7795684 Binary files /dev/null and b/bin/Debug/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/bin/Debug/System.Runtime.CompilerServices.Unsafe.xml b/bin/Debug/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..7acab80 --- /dev/null +++ b/bin/Debug/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,353 @@ + + + + System.Runtime.CompilerServices.Unsafe + + + + + Contains generic, low-level functionality for manipulating pointers. + + + + + Reads a value of type from the given location. + + The type to read. + The location to read from. + An object of type read from the given location. + + + + Reads a value of type from the given location. + + The type to read. + The location to read from. + An object of type read from the given location. + + + + Reads a value of type from the given location. + + The type to read. + The location to read from. + An object of type read from the given location. + + + + Writes a value of type to the given location. + + The type of value to write. + The location to write to. + The value to write. + + + + Writes a value of type to the given location. + + The type of value to write. + The location to write to. + The value to write. + + + + Writes a value of type to the given location. + + The type of value to write. + The location to write to. + The value to write. + + + + Copies a value of type to the given location. + + The type of value to copy. + The location to copy to. + A reference to the value to copy. + + + + Copies a value of type to the given location. + + The type of value to copy. + The location to copy to. + A pointer to the value to copy. + + + + Returns a pointer to the given by-ref parameter. + + The type of object. + The object whose pointer is obtained. + A pointer to the given value. + + + + Returns the size of an object of the given type parameter. + + The type of object whose size is retrieved. + The size of an object of type . + + + + Casts the given object to the specified type, performs no dynamic type checking. + + The type which the object will be cast to. + The object to cast. + The original object, casted to the given type. + + + + Reinterprets the given location as a reference to a value of type . + + The type of the interpreted location. + The location of the value to reference. + A reference to a value of type . + + + + Reinterprets the given read-only reference as a reference. + + The type of reference. + The read-only reference to reinterpret. + A reference to a value of type . + + + + Reinterprets the given reference as a reference to a value of type . + + The type of reference to reinterpret. + The desired type of the reference. + The reference to reinterpret. + A reference to a value of type . + + + + Returns a reference to the value type contained with the specified box object. + + The type of the value type contained within the box. + The boxed value type. + A reference to a value of type in the box object. + + + + Adds an element offset to the given reference. + + The type of reference. + The reference to add the offset to. + The offset to add. + A new reference that reflects the addition of offset to pointer. + + + + Adds an element offset to the given pointer. + + The type of reference. + The pointer to add the offset to. + The offset to add. + A new pointer that reflects the addition of offset to pointer. + + + + Adds an element offset to the given reference. + + The type of reference. + The reference to add the offset to. + The offset to add. + A new reference that reflects the addition of offset to pointer. + + + + Adds an element offset to the given reference. + + The type of reference. + The reference to add the offset to. + The offset to add. + A new reference that reflects the addition of offset to pointer. + + + + Adds a byte offset to the given reference. + + The type of reference. + The reference to add the offset to. + The offset to add. + A new reference that reflects the addition of byte offset to pointer. + + + + Adds a byte offset to the given reference. + + The type of reference. + The reference to add the offset to. + The offset to add. + A new reference that reflects the addition of byte offset to pointer. + + + + Subtracts an element offset from the given reference. + + The type of reference. + The reference to subtract the offset from. + The offset to subtract. + A new reference that reflects the subraction of offset from pointer. + + + + Subtracts an element offset from the given reference. + + The type of reference. + The reference to subtract the offset from. + The offset to subtract. + A new reference that reflects the subraction of offset from pointer. + + + + Subtracts an element offset from the given reference. + + The type of reference. + The reference to subtract the offset from. + The offset to subtract. + A new reference that reflects the subraction of offset from pointer. + + + + Subtracts a byte offset from the given reference. + + The type of reference. + The reference to subtract the offset from. + The offset to subtract. + A new reference that reflects the subraction of byte offset from pointer. + + + + Subtracts a byte offset from the given reference. + + The type of reference. + The reference to subtract the offset from. + The offset to subtract. + A new reference that reflects the subraction of byte offset from pointer. + + + + Determines the byte offset from origin to target from the given references. + + The type of reference. + The reference to origin. + The reference to target. + Byte offset from origin to target i.e. - . + + + + Determines whether the specified references point to the same location. + + The first reference to compare. + The second reference to compare. + true if and point to the same location; otherwise false. + + + + Determines whether the memory address referenced by is greater than the memory address referenced by . + + The first reference to compare. + The second reference to compare. + true if the memory address referenced by is greater than the memory address referenced by ; otherwise false. + + This check is conceptually similar to "(void*)(&left) > (void*)(&right)". Both parameters must reference the same object, array, or span; + or the objects being referenced must both be pinned; or both references must represent unmanaged pointers; otherwise the result is undefined. + + + + + Determines whether the memory address referenced by is less than the memory address referenced by . + + The first reference to compare. + The second reference to compare. + true if the memory address referenced by is less than the memory address referenced by ; otherwise false. + + This check is conceptually similar to "(void*)(&left) < (void*)(&right)". Both parameters must reference the same object, array, or span; + or the objects being referenced must both be pinned; or both references must represent unmanaged pointers; otherwise the result is undefined. + + + + + Returns if a given reference to a value of type is a null reference. + + The reference to check. + This check is conceptually similar to "(void*)(&source) == nullptr". + + + + Returns a reference to a value of type that is a null reference. + + + + + Copies bytes from the source address to the destination address. + + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + + Copies bytes from the source address to the destination address. + + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + + Copies bytes from the source address to the destination address + without assuming architecture dependent alignment of the addresses. + + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + + Copies bytes from the source address to the destination address + without assuming architecture dependent alignment of the addresses. + + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + + Initializes a block of memory at the given location with a given initial value. + + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + + Initializes a block of memory at the given location with a given initial value. + + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + + Initializes a block of memory at the given location with a given initial value + without assuming architecture dependent alignment of the address. + + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + + Initializes a block of memory at the given location with a given initial value + without assuming architecture dependent alignment of the address. + + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + diff --git a/bin/Debug/System.Text.Encodings.Web.dll b/bin/Debug/System.Text.Encodings.Web.dll new file mode 100644 index 0000000..b9cd387 Binary files /dev/null and b/bin/Debug/System.Text.Encodings.Web.dll differ diff --git a/bin/Debug/System.Text.Encodings.Web.xml b/bin/Debug/System.Text.Encodings.Web.xml new file mode 100644 index 0000000..35a3024 --- /dev/null +++ b/bin/Debug/System.Text.Encodings.Web.xml @@ -0,0 +1,939 @@ + + + + System.Text.Encodings.Web + + + + Represents an HTML character encoding. + + + Initializes a new instance of the class. + + + Creates a new instance of the HtmlEncoder class with the specified settings. + Settings that control how the instance encodes, primarily which characters to encode. + + is . + A new instance of the class. + + + Creates a new instance of the HtmlEncoder class that specifies characters the encoder is allowed to not encode. + The set of characters that the encoder is allowed to not encode. + + is . + A new instance of the class. + + + Gets a built-in instance of the class. + A built-in instance of the class. + + + Represents a JavaScript character encoding. + + + Initializes a new instance of the class. + + + Creates a new instance of JavaScriptEncoder class with the specified settings. + Settings that control how the instance encodes, primarily which characters to encode. + + is . + A new instance of the class. + + + Creates a new instance of the JavaScriptEncoder class that specifies characters the encoder is allowed to not encode. + The set of characters that the encoder is allowed to not encode. + + is . + A new instance of the class. + + + Gets a built-in instance of the class. + A built-in instance of the class. + + + Gets a built-in JavaScript encoder instance that is less strict about what is encoded. + A JavaScript encoder instance. + + + The base class of web encoders. + + + Initializes a new instance of the class. + + + Encodes characters from an array and writes them to a object. + The stream to which to write the encoded text. + The array of characters to encode. + The array index of the first character to encode. + The number of characters in the array to encode. + + is . + The method failed. The encoder does not implement correctly. + + is . + + is out of range. + + is out of range. + + + Encodes a substring and writes it to a object. + The stream to which to write the encoded text. + The string whose substring is to be encoded. + The index where the substring starts. + The number of characters in the substring. + + is . + The method failed. The encoder does not implement correctly. + + is . + + is out of range. + + is out of range. + + + Encodes the specified string to a object. + The stream to which to write the encoded text. + The string to encode. + + + Encodes the supplied characters. + A source buffer containing the characters to encode. + The destination buffer to which the encoded form of will be written. + The number of characters consumed from the buffer. + The number of characters written to the buffer. + + to indicate there is no further source data that needs to be encoded; otherwise, . + An enumeration value that describes the result of the encoding operation. + + + Encodes the supplied string and returns the encoded text as a new string. + The string to encode. + + is . + The method failed. The encoder does not implement correctly. + The encoded string. + + + Encodes the supplied UTF-8 text. + A source buffer containing the UTF-8 text to encode. + The destination buffer to which the encoded form of will be written. + The number of bytes consumed from the buffer. + The number of bytes written to the buffer. + + to indicate there is no further source data that needs to be encoded; otherwise, . + A status code that describes the result of the encoding operation. + + + Finds the index of the first character to encode. + The text buffer to search. + The number of characters in . + The index of the first character to encode. + + + Finds the first element in a UTF-8 text input buffer that would be escaped by the current encoder instance. + The UTF-8 text input buffer to search. + The index of the first element in that would be escaped by the current encoder instance, or -1 if no data in requires escaping. + + + Encodes a Unicode scalar value and writes it to a buffer. + A Unicode scalar value. + A pointer to the buffer to which to write the encoded text. + The length of the destination in characters. + When the method returns, indicates the number of characters written to the . + + if is too small to fit the encoded text; otherwise, returns . + + + Determines if a given Unicode scalar value will be encoded. + A Unicode scalar value. + + if the value will be encoded by this encoder; otherwise, returns . + + + Gets the maximum number of characters that this encoder can generate for each input code point. + The maximum number of characters. + + + Represents a filter that allows only certain Unicode code points. + + + Instantiates an empty filter (allows no code points through by default). + + + Instantiates a filter by cloning the allowed list of another object. + The other object to be cloned. + + + Instantiates a filter where only the character ranges specified by are allowed by the filter. + The allowed character ranges. + + is . + + + Allows the character specified by through the filter. + The allowed character. + + + Allows all characters specified by through the filter. + The allowed characters. + + is . + + + Allows all code points specified by . + The allowed code points. + + is . + + + Allows all characters specified by through the filter. + The range of characters to be allowed. + + is . + + + Allows all characters specified by through the filter. + The ranges of characters to be allowed. + + is . + + + Resets this object by disallowing all characters. + + + Disallows the character through the filter. + The disallowed character. + + + Disallows all characters specified by through the filter. + The disallowed characters. + + is . + + + Disallows all characters specified by through the filter. + The range of characters to be disallowed. + + is . + + + Disallows all characters specified by through the filter. + The ranges of characters to be disallowed. + + is . + + + Gets an enumerator of all allowed code points. + The enumerator of allowed code points. + + + Represents a URL character encoding. + + + Initializes a new instance of the class. + + + Creates a new instance of UrlEncoder class with the specified settings. + Settings that control how the instance encodes, primarily which characters to encode. + + is . + A new instance of the class. + + + Creates a new instance of the UrlEncoder class that specifies characters the encoder is allowed to not encode. + The set of characters that the encoder is allowed to not encode. + + is . + A new instance of the class. + + + Gets a built-in instance of the class. + A built-in instance of the class. + + + Represents a contiguous range of Unicode code points. + + + Creates a new that includes a specified number of characters starting at a specified Unicode code point. + The first code point in the range. + The number of code points in the range. + + is less than zero or greater than 0xFFFF. + +-or- + + is less than zero. + +-or- + + plus is greater than 0xFFFF. + + + Creates a new instance from a span of characters. + The first character in the range. + The last character in the range. + + precedes . + A range that includes all characters between and . + + + Gets the first code point in the range represented by this instance. + The first code point in the range. + + + Gets the number of code points in the range represented by this instance. + The number of code points in the range. + + + Provides static properties that return predefined instances that correspond to blocks from the Unicode specification. + + + Gets a range that consists of the entire Basic Multilingual Plane (BMP), from U+0000 to U+FFFF). + A range that consists of the entire BMP. + + + Gets the Alphabetic Presentation Forms Unicode block (U+FB00-U+FB4F). + The Alphabetic Presentation Forms Unicode block (U+FB00-U+FB4F). + + + Gets the Arabic Unicode block (U+0600-U+06FF). + The Arabic Unicode block (U+0600-U+06FF). + + + Gets the Arabic Extended-A Unicode block (U+08A0-U+08FF). + The Arabic Extended-A Unicode block (U+08A0-U+08FF). + + + A corresponding to the 'Arabic Extended-B' Unicode block (U+0870..U+089F). + + + Gets the Arabic Presentation Forms-A Unicode block (U+FB50-U+FDFF). + The Arabic Presentation Forms-A Unicode block (U+FB50-U+FDFF). + + + Gets the Arabic Presentation Forms-B Unicode block (U+FE70-U+FEFF). + The Arabic Presentation Forms-B Unicode block (U+FE70-U+FEFF). + + + Gets the Arabic Supplement Unicode block (U+0750-U+077F). + The Arabic Supplement Unicode block (U+0750-U+077F). + + + Gets the Armenian Unicode block (U+0530-U+058F). + The Armenian Unicode block (U+0530-U+058F). + + + Gets the Arrows Unicode block (U+2190-U+21FF). + The Arrows Unicode block (U+2190-U+21FF). + + + Gets the Balinese Unicode block (U+1B00-U+1B7F). + The Balinese Unicode block (U+1B00-U+1B7F). + + + Gets the Bamum Unicode block (U+A6A0-U+A6FF). + The Bamum Unicode block (U+A6A0-U+A6FF). + + + Gets the Basic Latin Unicode block (U+0000-U+007F). + The Basic Latin Unicode block (U+0000-U+007F). + + + Gets the Batak Unicode block (U+1BC0-U+1BFF). + The Batak Unicode block (U+1BC0-U+1BFF). + + + Gets the Bengali Unicode block (U+0980-U+09FF). + The Bengali Unicode block (U+0980-U+09FF). + + + Gets the Block Elements Unicode block (U+2580-U+259F). + The Block Elements Unicode block (U+2580-U+259F). + + + Gets the Bopomofo Unicode block (U+3100-U+312F). + The Bopomofo Unicode block (U+3105-U+312F). + + + Gets the Bopomofo Extended Unicode block (U+31A0-U+31BF). + The Bopomofo Extended Unicode block (U+31A0-U+31BF). + + + Gets the Box Drawing Unicode block (U+2500-U+257F). + The Box Drawing Unicode block (U+2500-U+257F). + + + Gets the Braille Patterns Unicode block (U+2800-U+28FF). + The Braille Patterns Unicode block (U+2800-U+28FF). + + + Gets the Buginese Unicode block (U+1A00-U+1A1F). + The Buginese Unicode block (U+1A00-U+1A1F). + + + Gets the Buhid Unicode block (U+1740-U+175F). + The Buhid Unicode block (U+1740-U+175F). + + + Gets the Cham Unicode block (U+AA00-U+AA5F). + The Cham Unicode block (U+AA00-U+AA5F). + + + Gets the Cherokee Unicode block (U+13A0-U+13FF). + The Cherokee Unicode block (U+13A0-U+13FF). + + + Gets the Cherokee Supplement Unicode block (U+AB70-U+ABBF). + The Cherokee Supplement Unicode block (U+AB70-U+ABBF). + + + Gets the CJK Compatibility Unicode block (U+3300-U+33FF). + The CJK Compatibility Unicode block (U+3300-U+33FF). + + + Gets the CJK Compatibility Forms Unicode block (U+FE30-U+FE4F). + The CJK Compatibility Forms Unicode block (U+FE30-U+FE4F). + + + Gets the CJK Compatibility Ideographs Unicode block (U+F900-U+FAD9). + The CJK Compatibility Ideographs Unicode block (U+F900-U+FAD9). + + + Gets the CJK Radicals Supplement Unicode block (U+2E80-U+2EFF). + The CJK Radicals Supplement Unicode block (U+2E80-U+2EFF). + + + Gets the CJK Strokes Unicode block (U+31C0-U+31EF). + The CJK Strokes Unicode block (U+31C0-U+31EF). + + + Gets the CJK Symbols and Punctuation Unicode block (U+3000-U+303F). + The CJK Symbols and Punctuation Unicode block (U+3000-U+303F). + + + Gets the CJK Unified Ideographs Unicode block (U+4E00-U+9FCC). + The CJK Unified Ideographs Unicode block (U+4E00-U+9FCC). + + + Gets the CJK Unitied Ideographs Extension A Unicode block (U+3400-U+4DB5). + The CJK Unitied Ideographs Extension A Unicode block (U+3400-U+4DB5). + + + Gets the Combining Diacritical Marks Unicode block (U+0300-U+036F). + The Combining Diacritical Marks Unicode block (U+0300-U+036F). + + + Gets the Combining Diacritical Marks Extended Unicode block (U+1AB0-U+1AFF). + The Combining Diacritical Marks Extended Unicode block (U+1AB0-U+1AFF). + + + Gets the Combining Diacritical Marks for Symbols Unicode block (U+20D0-U+20FF). + The Combining Diacritical Marks for Symbols Unicode block (U+20D0-U+20FF). + + + Gets the Combining Diacritical Marks Supplement Unicode block (U+1DC0-U+1DFF). + The Combining Diacritical Marks Supplement Unicode block (U+1DC0-U+1DFF). + + + Gets the Combining Half Marks Unicode block (U+FE20-U+FE2F). + The Combining Half Marks Unicode block (U+FE20-U+FE2F). + + + Gets the Common Indic Number Forms Unicode block (U+A830-U+A83F). + The Common Indic Number Forms Unicode block (U+A830-U+A83F). + + + Gets the Control Pictures Unicode block (U+2400-U+243F). + The Control Pictures Unicode block (U+2400-U+243F). + + + Gets the Coptic Unicode block (U+2C80-U+2CFF). + The Coptic Unicode block (U+2C80-U+2CFF). + + + Gets the Currency Symbols Unicode block (U+20A0-U+20CF). + The Currency Symbols Unicode block (U+20A0-U+20CF). + + + Gets the Cyrillic Unicode block (U+0400-U+04FF). + The Cyrillic Unicode block (U+0400-U+04FF). + + + Gets the Cyrillic Extended-A Unicode block (U+2DE0-U+2DFF). + The Cyrillic Extended-A Unicode block (U+2DE0-U+2DFF). + + + Gets the Cyrillic Extended-B Unicode block (U+A640-U+A69F). + The Cyrillic Extended-B Unicode block (U+A640-U+A69F). + + + A corresponding to the 'Cyrillic Extended-C' Unicode block (U+1C80..U+1C8F). + + + Gets the Cyrillic Supplement Unicode block (U+0500-U+052F). + The Cyrillic Supplement Unicode block (U+0500-U+052F). + + + Gets the Devangari Unicode block (U+0900-U+097F). + The Devangari Unicode block (U+0900-U+097F). + + + Gets the Devanagari Extended Unicode block (U+A8E0-U+A8FF). + The Devanagari Extended Unicode block (U+A8E0-U+A8FF). + + + Gets the Dingbats Unicode block (U+2700-U+27BF). + The Dingbats Unicode block (U+2700-U+27BF). + + + Gets the Enclosed Alphanumerics Unicode block (U+2460-U+24FF). + The Enclosed Alphanumerics Unicode block (U+2460-U+24FF). + + + Gets the Enclosed CJK Letters and Months Unicode block (U+3200-U+32FF). + The Enclosed CJK Letters and Months Unicode block (U+3200-U+32FF). + + + Gets the Ethiopic Unicode block (U+1200-U+137C). + The Ethiopic Unicode block (U+1200-U+137C). + + + Gets the Ethipic Extended Unicode block (U+2D80-U+2DDF). + The Ethipic Extended Unicode block (U+2D80-U+2DDF). + + + Gets the Ethiopic Extended-A Unicode block (U+AB00-U+AB2F). + The Ethiopic Extended-A Unicode block (U+AB00-U+AB2F). + + + Gets the Ethiopic Supplement Unicode block (U+1380-U+1399). + The Ethiopic Supplement Unicode block (U+1380-U+1399). + + + Gets the General Punctuation Unicode block (U+2000-U+206F). + The General Punctuation Unicode block (U+2000-U+206F). + + + Gets the Geometric Shapes Unicode block (U+25A0-U+25FF). + The Geometric Shapes Unicode block (U+25A0-U+25FF). + + + Gets the Georgian Unicode block (U+10A0-U+10FF). + The Georgian Unicode block (U+10A0-U+10FF). + + + A corresponding to the 'Georgian Extended' Unicode block (U+1C90..U+1CBF). + + + Gets the Georgian Supplement Unicode block (U+2D00-U+2D2F). + The Georgian Supplement Unicode block (U+2D00-U+2D2F). + + + Gets the Glagolitic Unicode block (U+2C00-U+2C5F). + The Glagolitic Unicode block (U+2C00-U+2C5F). + + + Gets the Greek and Coptic Unicode block (U+0370-U+03FF). + The Greek and Coptic Unicode block (U+0370-U+03FF). + + + Gets the Greek Extended Unicode block (U+1F00-U+1FFF). + The Greek Extended Unicode block (U+1F00-U+1FFF). + + + Gets the Gujarti Unicode block (U+0A81-U+0AFF). + The Gujarti Unicode block (U+0A81-U+0AFF). + + + Gets the Gurmukhi Unicode block (U+0A01-U+0A7F). + The Gurmukhi Unicode block (U+0A01-U+0A7F). + + + Gets the Halfwidth and Fullwidth Forms Unicode block (U+FF00-U+FFEE). + The Halfwidth and Fullwidth Forms Unicode block (U+FF00-U+FFEE). + + + Gets the Hangul Compatibility Jamo Unicode block (U+3131-U+318F). + The Hangul Compatibility Jamo Unicode block (U+3131-U+318F). + + + Gets the Hangul Jamo Unicode block (U+1100-U+11FF). + The Hangul Jamo Unicode block (U+1100-U+11FF). + + + Gets the Hangul Jamo Extended-A Unicode block (U+A960-U+A9F). + The Hangul Jamo Extended-A Unicode block (U+A960-U+A97F). + + + Gets the Hangul Jamo Extended-B Unicode block (U+D7B0-U+D7FF). + The Hangul Jamo Extended-B Unicode block (U+D7B0-U+D7FF). + + + Gets the Hangul Syllables Unicode block (U+AC00-U+D7AF). + The Hangul Syllables Unicode block (U+AC00-U+D7AF). + + + Gets the Hanunoo Unicode block (U+1720-U+173F). + The Hanunoo Unicode block (U+1720-U+173F). + + + Gets the Hebrew Unicode block (U+0590-U+05FF). + The Hebrew Unicode block (U+0590-U+05FF). + + + Gets the Hiragana Unicode block (U+3040-U+309F). + The Hiragana Unicode block (U+3040-U+309F). + + + Gets the Ideographic Description Characters Unicode block (U+2FF0-U+2FFF). + The Ideographic Description Characters Unicode block (U+2FF0-U+2FFF). + + + Gets the IPA Extensions Unicode block (U+0250-U+02AF). + The IPA Extensions Unicode block (U+0250-U+02AF). + + + Gets the Javanese Unicode block (U+A980-U+A9DF). + The Javanese Unicode block (U+A980-U+A9DF). + + + Gets the Kanbun Unicode block (U+3190-U+319F). + The Kanbun Unicode block (U+3190-U+319F). + + + Gets the Kangxi Radicals Supplement Unicode block (U+2F00-U+2FDF). + The Kangxi Radicals Supplement Unicode block (U+2F00-U+2FDF). + + + Gets the Kannada Unicode block (U+0C81-U+0CFF). + The Kannada Unicode block (U+0C81-U+0CFF). + + + Gets the Katakana Unicode block (U+30A0-U+30FF). + The Katakana Unicode block (U+30A0-U+30FF). + + + Gets the Katakana Phonetic Extensions Unicode block (U+31F0-U+31FF). + The Katakana Phonetic Extensions Unicode block (U+31F0-U+31FF). + + + Gets the Kayah Li Unicode block (U+A900-U+A92F). + The Kayah Li Unicode block (U+A900-U+A92F). + + + Gets the Khmer Unicode block (U+1780-U+17FF). + The Khmer Unicode block (U+1780-U+17FF). + + + Gets the Khmer Symbols Unicode block (U+19E0-U+19FF). + The Khmer Symbols Unicode block (U+19E0-U+19FF). + + + Gets the Lao Unicode block (U+0E80-U+0EDF). + The Lao Unicode block (U+0E80-U+0EDF). + + + Gets the Latin-1 Supplement Unicode block (U+0080-U+00FF). + The Latin-1 Supplement Unicode block (U+0080-U+00FF). + + + Gets the Latin Extended-A Unicode block (U+0100-U+017F). + The Latin Extended-A Unicode block (U+0100-U+017F). + + + Gets the Latin Extended Additional Unicode block (U+1E00-U+1EFF). + The Latin Extended Additional Unicode block (U+1E00-U+1EFF). + + + Gets the Latin Extended-B Unicode block (U+0180-U+024F). + The Latin Extended-B Unicode block (U+0180-U+024F). + + + Gets the Latin Extended-C Unicode block (U+2C60-U+2C7F). + The Latin Extended-C Unicode block (U+2C60-U+2C7F). + + + Gets the Latin Extended-D Unicode block (U+A720-U+A7FF). + The Latin Extended-D Unicode block (U+A720-U+A7FF). + + + Gets the Latin Extended-E Unicode block (U+AB30-U+AB6F). + The Latin Extended-E Unicode block (U+AB30-U+AB6F). + + + Gets the Lepcha Unicode block (U+1C00-U+1C4F). + The Lepcha Unicode block (U+1C00-U+1C4F). + + + Gets the Letterlike Symbols Unicode block (U+2100-U+214F). + The Letterlike Symbols Unicode block (U+2100-U+214F). + + + Gets the Limbu Unicode block (U+1900-U+194F). + The Limbu Unicode block (U+1900-U+194F). + + + Gets the Lisu Unicode block (U+A4D0-U+A4FF). + The Lisu Unicode block (U+A4D0-U+A4FF). + + + Gets the Malayalam Unicode block (U+0D00-U+0D7F). + The Malayalam Unicode block (U+0D00-U+0D7F). + + + Gets the Mandaic Unicode block (U+0840-U+085F). + The Mandaic Unicode block (U+0840-U+085F). + + + Gets the Mathematical Operators Unicode block (U+2200-U+22FF). + The Mathematical Operators Unicode block (U+2200-U+22FF). + + + Gets the Meetei Mayek Unicode block (U+ABC0-U+ABFF). + The Meetei Mayek Unicode block (U+ABC0-U+ABFF). + + + Gets the Meetei Mayek Extensions Unicode block (U+AAE0-U+AAFF). + The Meetei Mayek Extensions Unicode block (U+AAE0-U+AAFF). + + + Gets the Miscellaneous Mathematical Symbols-A Unicode block (U+27C0-U+27EF). + The Miscellaneous Mathematical Symbols-A Unicode block (U+27C0-U+27EF). + + + Gets the Miscellaneous Mathematical Symbols-B Unicode block (U+2980-U+29FF). + The Miscellaneous Mathematical Symbols-B Unicode block (U+2980-U+29FF). + + + Gets the Miscellaneous Symbols Unicode block (U+2600-U+26FF). + The Miscellaneous Symbols Unicode block (U+2600-U+26FF). + + + Gets the Miscellaneous Symbols and Arrows Unicode block (U+2B00-U+2BFF). + The Miscellaneous Symbols and Arrows Unicode block (U+2B00-U+2BFF). + + + Gets the Miscellaneous Technical Unicode block (U+2300-U+23FF). + The Miscellaneous Technical Unicode block (U+2300-U+23FF). + + + Gets the Modifier Tone Letters Unicode block (U+A700-U+A71F). + The Modifier Tone Letters Unicode block (U+A700-U+A71F). + + + Gets the Mongolian Unicode block (U+1800-U+18AF). + The Mongolian Unicode block (U+1800-U+18AF). + + + Gets the Myanmar Unicode block (U+1000-U+109F). + The Myanmar Unicode block (U+1000-U+109F). + + + Gets the Myanmar Extended-A Unicode block (U+AA60-U+AA7F). + The Myanmar Extended-A Unicode block (U+AA60-U+AA7F). + + + Gets the Myanmar Extended-B Unicode block (U+A9E0-U+A9FF). + The Myanmar Extended-B Unicode block (U+A9E0-U+A9FF). + + + Gets the New Tai Lue Unicode block (U+1980-U+19DF). + The New Tai Lue Unicode block (U+1980-U+19DF). + + + Gets the NKo Unicode block (U+07C0-U+07FF). + The NKo Unicode block (U+07C0-U+07FF). + + + Gets an empty Unicode range. + A Unicode range with no elements. + + + Gets the Number Forms Unicode block (U+2150-U+218F). + The Number Forms Unicode block (U+2150-U+218F). + + + Gets the Ogham Unicode block (U+1680-U+169F). + The Ogham Unicode block (U+1680-U+169F). + + + Gets the Ol Chiki Unicode block (U+1C50-U+1C7F). + The Ol Chiki Unicode block (U+1C50-U+1C7F). + + + Gets the Optical Character Recognition Unicode block (U+2440-U+245F). + The Optical Character Recognition Unicode block (U+2440-U+245F). + + + Gets the Oriya Unicode block (U+0B00-U+0B7F). + The Oriya Unicode block (U+0B00-U+0B7F). + + + Gets the Phags-pa Unicode block (U+A840-U+A87F). + The Phags-pa Unicode block (U+A840-U+A87F). + + + Gets the Phonetic Extensions Unicode block (U+1D00-U+1D7F). + The Phonetic Extensions Unicode block (U+1D00-U+1D7F). + + + Gets the Phonetic Extensions Supplement Unicode block (U+1D80-U+1DBF). + The Phonetic Extensions Supplement Unicode block (U+1D80-U+1DBF). + + + Gets the Rejang Unicode block (U+A930-U+A95F). + The Rejang Unicode block (U+A930-U+A95F). + + + Gets the Runic Unicode block (U+16A0-U+16FF). + The Runic Unicode block (U+16A0-U+16FF). + + + Gets the Samaritan Unicode block (U+0800-U+083F). + The Samaritan Unicode block (U+0800-U+083F). + + + Gets the Saurashtra Unicode block (U+A880-U+A8DF). + The Saurashtra Unicode block (U+A880-U+A8DF). + + + Gets the Sinhala Unicode block (U+0D80-U+0DFF). + The Sinhala Unicode block (U+0D80-U+0DFF). + + + Gets the Small Form Variants Unicode block (U+FE50-U+FE6F). + The Small Form Variants Unicode block (U+FE50-U+FE6F). + + + Gets the Spacing Modifier Letters Unicode block (U+02B0-U+02FF). + The Spacing Modifier Letters Unicode block (U+02B0-U+02FF). + + + Gets the Specials Unicode block (U+FFF0-U+FFFF). + The Specials Unicode block (U+FFF0-U+FFFF). + + + Gets the Sundanese Unicode block (U+1B80-U+1BBF). + The Sundanese Unicode block (U+1B80-U+1BBF). + + + Gets the Sundanese Supplement Unicode block (U+1CC0-U+1CCF). + The Sundanese Supplement Unicode block (U+1CC0-U+1CCF). + + + Gets the Superscripts and Subscripts Unicode block (U+2070-U+209F). + The Superscripts and Subscripts Unicode block (U+2070-U+209F). + + + Gets the Supplemental Arrows-A Unicode block (U+27F0-U+27FF). + The Supplemental Arrows-A Unicode block (U+27F0-U+27FF). + + + Gets the Supplemental Arrows-B Unicode block (U+2900-U+297F). + The Supplemental Arrows-B Unicode block (U+2900-U+297F). + + + Gets the Supplemental Mathematical Operators Unicode block (U+2A00-U+2AFF). + The Supplemental Mathematical Operators Unicode block (U+2A00-U+2AFF). + + + Gets the Supplemental Punctuation Unicode block (U+2E00-U+2E7F). + The Supplemental Punctuation Unicode block (U+2E00-U+2E7F). + + + Gets the Syloti Nagri Unicode block (U+A800-U+A82F). + The Syloti Nagri Unicode block (U+A800-U+A82F). + + + Gets the Syriac Unicode block (U+0700-U+074F). + The Syriac Unicode block (U+0700-U+074F). + + + A corresponding to the 'Syriac Supplement' Unicode block (U+0860..U+086F). + + + Gets the Tagalog Unicode block (U+1700-U+171F). + The Tagalog Unicode block (U+1700-U+171F). + + + Gets the Tagbanwa Unicode block (U+1760-U+177F). + The Tagbanwa Unicode block (U+1760-U+177F). + + + Gets the Tai Le Unicode block (U+1950-U+197F). + The Tai Le Unicode block (U+1950-U+197F). + + + Gets the Tai Tham Unicode block (U+1A20-U+1AAF). + The Tai Tham Unicode block (U+1A20-U+1AAF). + + + Gets the Tai Viet Unicode block (U+AA80-U+AADF). + The Tai Viet Unicode block (U+AA80-U+AADF). + + + Gets the Tamil Unicode block (U+0B80-U+0BFF). + The Tamil Unicode block (U+0B82-U+0BFA). + + + Gets the Telugu Unicode block (U+0C00-U+0C7F). + The Telugu Unicode block (U+0C00-U+0C7F). + + + Gets the Thaana Unicode block (U+0780-U+07BF). + The Thaana Unicode block (U+0780-U+07BF). + + + Gets the Thai Unicode block (U+0E00-U+0E7F). + The Thai Unicode block (U+0E00-U+0E7F). + + + Gets the Tibetan Unicode block (U+0F00-U+0FFF). + The Tibetan Unicode block (U+0F00-U+0FFF). + + + Gets the Tifinagh Unicode block (U+2D30-U+2D7F). + The Tifinagh Unicode block (U+2D30-U+2D7F). + + + Gets the Unified Canadian Aboriginal Syllabics Unicode block (U+1400-U+167F). + The Unified Canadian Aboriginal Syllabics Unicode block (U+1400-U+167F). + + + Gets the Unified Canadian Aboriginal Syllabics Extended Unicode block (U+18B0-U+18FF). + The Unified Canadian Aboriginal Syllabics Extended Unicode block (U+18B0-U+18FF). + + + Gets the Vai Unicode block (U+A500-U+A63F). + The Vai Unicode block (U+A500-U+A63F). + + + Gets the Variation Selectors Unicode block (U+FE00-U+FE0F). + The Variation Selectors Unicode block (U+FE00-U+FE0F). + + + Gets the Vedic Extensions Unicode block (U+1CD0-U+1CFF). + The Vedic Extensions Unicode block (U+1CD0-U+1CFF). + + + Gets the Vertical Forms Unicode block (U+FE10-U+FE1F). + The Vertical Forms Unicode block (U+FE10-U+FE1F). + + + Gets the Yijing Hexagram Symbols Unicode block (U+4DC0-U+4DFF). + The Yijing Hexagram Symbols Unicode block (U+4DC0-U+4DFF). + + + Gets the Yi Radicals Unicode block (U+A490-U+A4CF). + The Yi Radicals Unicode block (U+A490-U+A4CF). + + + Gets the Yi Syllables Unicode block (U+A000-U+A48F). + The Yi Syllables Unicode block (U+A000-U+A48F). + + + \ No newline at end of file diff --git a/bin/Debug/System.Text.Json.dll b/bin/Debug/System.Text.Json.dll new file mode 100644 index 0000000..bcc324a Binary files /dev/null and b/bin/Debug/System.Text.Json.dll differ diff --git a/bin/Debug/System.Text.Json.xml b/bin/Debug/System.Text.Json.xml new file mode 100644 index 0000000..efc5cc9 --- /dev/null +++ b/bin/Debug/System.Text.Json.xml @@ -0,0 +1,6295 @@ + + + + System.Text.Json + + + + + + + + + + + Defines how the struct handles comments. + + + Allows comments within the JSON input and treats them as valid tokens. While reading, the caller can access the comment values. + + + Doesn't allow comments within the JSON input. Comments are treated as invalid JSON if found, and a is thrown. This is the default value. + + + Allows comments within the JSON input and ignores them. The behaves as if no comments are present. + + + Provides a mechanism for examining the structural content of a JSON value without automatically instantiating data values. + + + Releases the resources used by this instance. + + + Parses a sequence as UTF-8-encoded text representing a single JSON value into a JsonDocument. + The JSON text to parse. + Options to control the reader behavior during parsing. + + does not represent a valid single JSON value. + + contains unsupported options. + A JsonDocument representation of the JSON value. + + + Parses a as UTF-8-encoded data representing a single JSON value into a JsonDocument. The stream is read to completion. + The JSON data to parse. + Options to control the reader behavior during parsing. + + does not represent a valid single JSON value. + + contains unsupported options. + A JsonDocument representation of the JSON value. + + + Parses memory as UTF-8-encoded text representing a single JSON value into a JsonDocument. + The JSON text to parse. + Options to control the reader behavior during parsing. + + does not represent a valid single JSON value. + + contains unsupported options. + A JsonDocument representation of the JSON value. + + + Parses text representing a single JSON value into a JsonDocument. + The JSON text to parse. + Options to control the reader behavior during parsing. + + does not represent a valid single JSON value. + + contains unsupported options. + A JsonDocument representation of the JSON value. + + + Parses text representing a single JSON string value into a JsonDocument. + The JSON text to parse. + Options to control the reader behavior during parsing. + + does not represent a valid single JSON value. + + contains unsupported options. + A JsonDocument representation of the JSON value. + + + Parses a as UTF-8-encoded data representing a single JSON value into a JsonDocument. The stream is read to completion. + The JSON data to parse. + Options to control the reader behavior during parsing. + The token to monitor for cancellation requests. + + does not represent a valid single JSON value. + + contains unsupported options. + The cancellation token was canceled. This exception is stored into the returned task. + A task to produce a JsonDocument representation of the JSON value. + + + Parses one JSON value (including objects or arrays) from the provided reader. + The reader to read. + + contains unsupported options. + +-or- + +The current token does not start or represent a value. + A value could not be read from the reader. + A JsonDocument representing the value (and nested values) read from the reader. + + + Attempts to parse one JSON value (including objects or arrays) from the provided reader. + The reader to read. + When the method returns, contains the parsed document. + + contains unsupported options. + +-or- + +The current token does not start or represent a value. + A value could not be read from the reader. + + if a value was read and parsed into a JsonDocument; if the reader ran out of data while parsing. All other situations result in an exception being thrown. + + + Writes the document to the provided writer as a JSON value. + The writer to which to write the document. + The parameter is . + The of this would result in invalid JSON. + The parent has been disposed. + + + Gets the root element of this JSON document. + A representing the value of the document. + + + Provides the ability for the user to define custom behavior when parsing JSON to create a . + + + + Gets or sets a value that indicates whether an extra comma at the end of a list of JSON values in an object or array is allowed (and ignored) within the JSON payload being read. + + if an extra comma at the end of a list of JSON values in an object or array is allowed; otherwise, . Default is + + + Gets or sets a value that determines how the handles comments when reading through the JSON data. + The comment handling enum is set to a value that is not supported (or not within the enum range). + One of the enumeration values that indicates how comments are handled. + + + Gets or sets the maximum depth allowed when parsing JSON data, with the default (that is, 0) indicating a maximum depth of 64. + The max depth is set to a negative value. + The maximum depth allowed when parsing JSON data. + + + Represents a specific JSON value within a . + + + Gets a JsonElement that can be safely stored beyond the lifetime of the original . + A JsonElement that can be safely stored beyond the lifetime of the original . + + + + + + + Gets an enumerator to enumerate the values in the JSON array represented by this JsonElement. + This value's is not . + The parent has been disposed. + An enumerator to enumerate the values in the JSON array represented by this JsonElement. + + + Gets an enumerator to enumerate the properties in the JSON object represented by this JsonElement. + This value's is not . + The parent has been disposed. + An enumerator to enumerate the properties in the JSON object represented by this JsonElement. + + + Gets the number of values contained within the current array value. + This value's is not . + The parent has been disposed. + The number of values contained within the current array value. + + + Gets the value of the element as a . + This value's is neither nor . + The parent has been disposed. + The value of the element as a . + + + Gets the current JSON number as a . + This value's is not . + The value cannot be represented as a . + The parent has been disposed. + The current JSON number as a . + + + Gets the value of the element as a byte array. + This value's is not . + The value is not encoded as Base64 text and hence cannot be decoded to bytes. + The parent has been disposed. + The value decoded as a byte array. + + + Gets the value of the element as a . + This value's is not . + The value cannot be read as a . + The parent has been disposed. + The value of the element as a . + + + Gets the value of the element as a . + This value's is not . + The value cannot be read as a . + The parent has been disposed. + The value of the element as a . + + + Gets the current JSON number as a . + This value's is not . + The value cannot be represented as a . + The parent has been disposed. + The current JSON number as a . + + + Gets the current JSON number as a . + This value's is not . + The value cannot be represented as a . + The parent has been disposed. + The current JSON number as a . + + + Gets the value of the element as a . + This value's is not . + The value cannot be represented as a . + The parent has been disposed. + The value of the element as a . + + + Gets the current JSON number as an . + This value's is not . + The value cannot be represented as an . + The parent has been disposed. + The current JSON number as an . + + + Gets the current JSON number as an . + This value's is not . + The value cannot be represented as an . + The parent has been disposed. + The current JSON number as an . + + + Gets the current JSON number as an . + This value's is not . + The value cannot be represented as a . + The parent has been disposed. + The current JSON number as an . + + + Gets a representing the value of a required property identified by . + The UTF-8 representation (with no Byte-Order-Mark (BOM)) of the name of the property to return. + This value's is not . + No property was found with the requested name. + The parent has been disposed. + A representing the value of the requested property. + + + Gets a representing the value of a required property identified by . + The name of the property whose value is to be returned. + This value's is not . + No property was found with the requested name. + The parent has been disposed. + A representing the value of the requested property. + + + Gets a representing the value of a required property identified by . + The name of the property whose value is to be returned. + This value's is not . + No property was found with the requested name. + + is . + The parent has been disposed. + A representing the value of the requested property. + + + + Gets a string that represents the original input data backing this value. + The parent has been disposed. + The original input data backing this value. + + + Gets the current JSON number as an . + This value's is not . + The value cannot be represented as an . + The parent has been disposed. + The current JSON number as an . + + + Gets the current JSON number as a . + This value's is not . + The value cannot be represented as a . + The parent has been disposed. + The current JSON number as a . + + + Gets the value of the element as a . + This value's is neither nor . + The parent has been disposed. + The value of the element as a . + + + Gets the current JSON number as a . + This value's is not . + The value cannot be represented as a . + The parent has been disposed. + The current JSON number as a . + + + Gets the current JSON number as a . + This value's is not . + The value cannot be represented as a . + The parent has been disposed. + The current JSON number as a . + + + Gets the current JSON number as a . + This value's is not . + The value cannot be represented as a . + The parent has been disposed. + The current JSON number as a . + + + + + + + + + + + + + + + Parses one JSON value (including objects or arrays) from the provided reader. + The reader to read. + + is using unsupported options. + The current token does not start or represent a value. + A value could not be read from the reader. + A JsonElement representing the value (and nested values) read from the reader. + + + Gets a string representation for the current value appropriate to the value type. + The parent has been disposed. + A string representation for the current value appropriate to the value type. + + + Attempts to represent the current JSON number as a . + When this method returns, contains the byte equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as a ; otherwise, . + + + Attempts to represent the current JSON string as a byte array, assuming that it is Base64 encoded. + If the method succeeds, contains the decoded binary representation of the Base64 text. + This value's is not . + The parent has been disposed. + + if the entire token value is encoded as valid Base64 text and can be successfully decoded to bytes; otherwise, . + + + Attempts to represent the current JSON string as a . + When this method returns, contains the date and time value equivalent to the current JSON string if the conversion succeeded, or if the conversion failed. + This value's is not . + The parent has been disposed. + + if the string can be represented as a ; otherwise, . + + + Attempts to represent the current JSON string as a . + When this method returns, contains the date and time value equivalent to the current JSON string if the conversion succeeded, or if the conversion failed. + This value's is not . + The parent has been disposed. + + if the string can be represented as a ; otherwise, . + + + Attempts to represent the current JSON number as a . + When this method returns, contains the decimal equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as a ; otherwise, . + + + Attempts to represent the current JSON number as a . + When this method returns, contains a double-precision floating point value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as a ; otherwise, . + + + Attempts to represent the current JSON string as a . + When this method returns, contains the GUID equivalent to the current JSON string if the conversion succeeded, or if the conversion failed. + This value's is not . + The parent has been disposed. + + if the string can be represented as a ; otherwise, . + + + Attempts to represent the current JSON number as an . + When this method returns, contains the 16-bit integer value equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as an ; otherwise, . + + + Attempts to represent the current JSON number as an . + When this method returns, contains the 32-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as an ; otherwise, . + + + Attempts to represent the current JSON number as a . + When this method returns, contains the 64-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as a ; otherwise, . + + + Looks for a property named in the current object, returning a value that indicates whether or not such a property exists. When the property exists, the method assigns its value to the argument. + The UTF-8 (with no Byte-Order-Mark (BOM)) representation of the name of the property to return. + Receives the value of the located property. + This value's is not . + The parent has been disposed. + + if the property was found; otherwise, . + + + Looks for a property named in the current object, returning a value that indicates whether or not such a property exists. When the property exists, the method assigns its value to the argument. + The name of the property to find. + When this method returns, contains the value of the specified property. + This value's is not . + The parent has been disposed. + + if the property was found; otherwise, . + + + Looks for a property named in the current object, returning a value that indicates whether or not such a property exists. When the property exists, its value is assigned to the argument. + The name of the property to find. + When this method returns, contains the value of the specified property. + This value's is not . + + is . + The parent has been disposed. + + if the property was found; otherwise, . + + + Attempts to represent the current JSON number as an . + When this method returns, contains the signed byte equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as an ; otherwise, . + + + Attempts to represent the current JSON number as a . + When this method returns, contains the single-precision floating point value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as a ; otherwise, . + + + Attempts to represent the current JSON number as a . + When this method returns, contains the unsigned 16-bit integer value equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as a ; otherwise, . + + + Attempts to represent the current JSON number as a . + When this method returns, contains unsigned 32-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as a ; otherwise, . + + + Attempts to represent the current JSON number as a . + When this method returns, contains unsigned 64-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + This value's is not . + The parent has been disposed. + + if the number can be represented as a ; otherwise, . + + + Attempts to parse one JSON value (including objects or arrays) from the provided reader. + The reader to read. + Receives the parsed element. + + is using unsupported options. + The current token does not start or represent a value. + A value could not be read from the reader. + + if a value was read and parsed into a JsonElement; if the reader ran out of data while parsing. + All other situations result in an exception being thrown. + + + Compares the text represented by a UTF8-encoded byte span to the string value of this element. + The UTF-8 encoded text to compare against. + This value's is not . + + if the string value of this element has the same UTF-8 encoding as + ; otherwise, . + + + Compares a specified read-only character span to the string value of this element. + The text to compare against. + This value's is not . + + if the string value of this element matches ; otherwise, . + + + Compares a specified string to the string value of this element. + The text to compare against. + This value's is not . + + if the string value of this element matches ; otherwise, . + + + Writes the element to the specified writer as a JSON value. + The writer to which to write the element. + The parameter is . + The of this value is . + The parent has been disposed. + + + Gets the value at the specified index if the current value is an . + The item index. + This value's is not . + + is not in the range [0, ()). + The parent has been disposed. + The value at the specified index. + + + Gets the type of the current JSON value. + The parent has been disposed. + The type of the current JSON value. + + + Represents an enumerator for the contents of a JSON array. + + + Releases the resources used by this instance. + + + Returns an enumerator that iterates through a collection. + An enumerator that can be used to iterate through the array. + + + Advances the enumerator to the next element of the collection. + + if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + Returns an enumerator that iterates through a collection. + An enumerator for an array of that can be used to iterate through the collection. + + + Returns an enumerator that iterates through a collection. + An enumerator that can be used to iterate through the collection. + + + Gets the element in the collection at the current position of the enumerator. + The element in the collection at the current position of the enumerator. + + + Gets the element in the collection at the current position of the enumerator. + The element in the collection at the current position of the enumerator. + + + Represents an enumerator for the properties of a JSON object. + + + Releases the resources used by this instance. + + + Returns an enumerator that iterates the properties of an object. + An enumerator that can be used to iterate through the object. + + + Advances the enumerator to the next element of the collection. + + if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. + + + Sets the enumerator to its initial position, which is before the first element in the collection. + + + Returns an enumerator that iterates through a collection. + An enumerator for objects that can be used to iterate through the collection. + + + Returns an enumerator that iterates through a collection. + An enumerator that can be used to iterate through the collection. + + + Gets the element in the collection at the current position of the enumerator. + The element in the collection at the current position of the enumerator. + + + Gets the element in the collection at the current position of the enumerator. + The element in the collection at the current position of the enumerator. + + + Provides methods to transform UTF-8 or UTF-16 encoded text into a form that is suitable for JSON. + + + Encodes a UTF-8 text value as a JSON string. + The UTF-8 encoded text to convert to JSON encoded text. + The encoder to use when escaping the string, or to use the default encoder. + + is too large. + +-or- + + contains invalid UTF-8 bytes. + The encoded JSON text. + + + Encodes a specified text value as a JSON string. + The value to convert to JSON encoded text. + The encoder to use when escaping the string, or to use the default encoder. + + is too large. + +-or- + + contains invalid UTF-16 characters. + The encoded JSON text. + + + Encodes the string text value as a JSON string. + The value to convert to JSON encoded text. + The encoder to use when escaping the string, or to use the default encoder. + + is . + + is too large. + +-or- + + contains invalid UTF-16 characters. + The encoded JSON text. + + + Determines whether this instance and a specified object, which must also be a instance, have the same value. + The object to compare to this instance. + + if the current instance and are equal; otherwise, . + + + Determines whether this instance and another specified instance have the same value. + The object to compare to this instance. + + if this instance and have the same value; otherwise, . + + + Returns the hash code for this . + The hash code for this instance. + + + Converts the value of this instance to a . + The underlying UTF-16 encoded string. + + + Gets the UTF-8 encoded representation of the pre-encoded JSON text. + The UTF-8 encoded representation of the pre-encoded JSON text. + + + Gets the UTF-16 encoded representation of the pre-encoded JSON text as a . + + + Defines a custom exception object that is thrown when invalid JSON text is encountered, the defined maximum depth is passed, or the JSON text is not compatible with the type of a property on an object. + + + Initializes a new instance of the class. + + + Creates a new exception object with serialized data. + The serialized object data about the exception being thrown. + An object that contains contextual information about the source or destination. + + is . + + + Initializes a new instance of the class, with a specified error message and a reference to the inner exception that is the cause of this exception. + The context-specific error message. + The exception that caused the current exception. + + + Creates a new exception object to relay error information to the user that includes a specified inner exception. + The context-specific error message. + The path where the invalid JSON was encountered. + The line number (starting at 0) at which the invalid JSON was encountered when deserializing. + The byte count (starting at 0) within the current line where the invalid JSON was encountered. + The exception that caused the current exception. + + + Creates a new exception object to relay error information to the user. + The context-specific error message. + The path where the invalid JSON was encountered. + The line number (starting at 0) at which the invalid JSON was encountered when deserializing. + The byte count within the current line (starting at 0) where the invalid JSON was encountered. + + + Initializes a new instance of the class with a specified error message. + The context-specific error message. + + + Sets the with information about the exception. + The serialized object data about the exception being thrown. + An object that contains contextual information about the source or destination. + + + Gets the zero-based number of bytes read within the current line before the exception. + The zero-based number of bytes read within the current line before the exception. + + + Gets the zero-based number of lines read before the exception. + The zero-based number of lines read before the exception. + + + Gets a message that describes the current exception. + The error message that describes the current exception. + + + Gets The path within the JSON where the exception was encountered. + The path within the JSON where the exception was encountered. + + + Determines the naming policy used to convert a string-based name to another format, such as a camel-casing format. + + + Initializes a new instance of . + + + When overridden in a derived class, converts the specified name according to the policy. + The name to convert. + The converted name. + + + Gets the naming policy for camel-casing. + The naming policy for camel-casing. + + + Gets the naming policy for lowercase kebab-casing. + + + Gets the naming policy for uppercase kebab-casing. + + + Gets the naming policy for lowercase snake-casing. + + + Gets the naming policy for uppercase snake-casing. + + + Represents a single property for a JSON object. + + + Compares the specified UTF-8 encoded text to the name of this property. + The UTF-8 encoded text to compare against. + This value's is not . + + if the name of this property has the same UTF-8 encoding as ; otherwise, . + + + Compares the specified text as a character span to the name of this property. + The text to compare against. + This value's is not . + + if the name of this property matches ; otherwise, . + + + Compares the specified string to the name of this property. + The text to compare against. + This value's is not . + + if the name of this property matches ; otherwise . + + + Provides a string representation of the property for debugging purposes. + A string containing the uninterpreted value of the property, beginning at the declaring open-quote and ending at the last character that is part of the value. + + + Writes the property to the provided writer as a named JSON object property. + The writer to which to write the property. + + is . + + is too large to be a JSON object property. + The of this JSON property's would result in invalid JSON. + The parent has been disposed. + + + Gets the name of this property. + The name of this property. + + + Gets the value of this property. + The value of this property. + + + Provides the ability for the user to define custom behavior when reading JSON. + + + + Gets or sets a value that defines whether an extra comma at the end of a list of JSON values in an object or array is allowed (and ignored) within the JSON payload being read. + + if an extra comma is allowed; otherwise, . + + + Gets or sets a value that determines how the handles comments when reading through the JSON data. + The property is being set to a value that is not a member of the enumeration. + One of the enumeration values that indicates how comments are handled. + + + Gets or sets the maximum depth allowed when reading JSON, with the default (that is, 0) indicating a maximum depth of 64. + The maximum depth is being set to a negative value. + The maximum depth allowed when reading JSON. + + + Defines an opaque type that holds and saves all the relevant state information, which must be provided to the to continue reading after processing incomplete data. + + + Constructs a new instance. + Defines the customized behavior of the that is different from the JSON RFC (for example how to handle comments, or the maximum depth allowed when reading). By default, the follows the JSON RFC strictly (comments within the JSON are invalid) and reads up to a maximum depth of 64. + The maximum depth is set to a non-positive value (< 0). + + + Gets the custom behavior to use when reading JSON data using the struct that may deviate from strict adherence to the JSON specification, which is the default behavior. + The custom behavior to use when reading JSON data. + + + Provides functionality to serialize objects or value types to JSON and to deserialize JSON into objects or value types. + + + Reads the UTF-8 encoded text representing a single JSON value into an instance specified by the . + The Stream will be read to completion. + JSON data to parse. + Metadata about the type to convert. + + or is . + The JSON is invalid, + or there is remaining data in the Stream. + A representation of the JSON value. + + + Reads the UTF-8 encoded text representing a single JSON value into a . + The Stream will be read to completion. + JSON data to parse. + The type of the object to convert to and return. + Options to control the behavior during reading. + + or is . + The JSON is invalid, the is not compatible with the JSON, or there is remaining data in the Stream. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Reads the UTF-8 encoded text representing a single JSON value into a . + The Stream will be read to completion. + JSON data to parse. + The type of the object to convert to and return. + A metadata provider for serializable types. + + , , or is . + The JSON is invalid, the is not compatible with the JSON, or there is remaining data in the Stream. + There is no compatible for or its serializable members. + The method on the provided did not return a compatible for . + A representation of the JSON value. + + + Parses the UTF-8 encoded text representing a single JSON value into an instance specified by the . + JSON text to parse. + Metadata about the type to convert. + The JSON is invalid, + or there is remaining data in the buffer. + A representation of the JSON value. + + + Parses the UTF-8 encoded text representing a single JSON value into an instance of a specified type. + The JSON text to parse. + The type of the object to convert to and return. + Options to control the behavior during parsing. + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the span beyond a single JSON value. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Parses the UTF-8 encoded text representing a single JSON value into a . + JSON text to parse. + The type of the object to convert to and return. + A metadata provider for serializable types. + + is . + The JSON is invalid, is not compatible with the JSON, or there is remaining data in the Stream. + There is no compatible for or its serializable members. + The method on the provided did not return a compatible for . + A representation of the JSON value. + + + Parses the text representing a single JSON value into an instance specified by the . + JSON text to parse. + Metadata about the type to convert. + + is . + The JSON is invalid. + +-or- + +There is remaining data in the string beyond a single JSON value. + A representation of the JSON value. + + + Parses the text representing a single JSON value into an instance of a specified type. + The JSON text to parse. + The type of the object to convert to and return. + Options to control the behavior during parsing. + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the span beyond a single JSON value. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Parses the text representing a single JSON value into a . + JSON text to parse. + The type of the object to convert to and return. + A metadata provider for serializable types. + + or is . + +-or- + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the string beyond a single JSON value. + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + A representation of the JSON value. + + + Parses the text representing a single JSON value into an instance specified by the . + JSON text to parse. + Metadata about the type to convert. + + is . + +-or- + + is . + The JSON is invalid. + +-or- + +There is remaining data in the string beyond a single JSON value. + A representation of the JSON value. + + + Parses the text representing a single JSON value into an instance of a specified type. + The JSON text to parse. + The type of the object to convert to and return. + Options to control the behavior during parsing. + + or is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the string beyond a single JSON value. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Parses the text representing a single JSON value into a . + JSON text to parse. + The type of the object to convert to and return. + A metadata provider for serializable types. + + or is . + +-or- + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the string beyond a single JSON value. + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + A representation of the JSON value. + + + Converts the representing a single JSON value into an instance specified by the . + The to convert. + Metadata about the type to convert. + + is . + +-or- + + is . + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + The type of the object to convert to and return. + Options to control the behavior during parsing. + + or is . + + is not compatible with the JSON. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + The type of the object to convert to and return. + A metadata provider for serializable types. + + is . + +-or- + + is . + +-or- + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the string beyond a single JSON value. + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + A representation of the JSON value. + + + Converts the representing a single JSON value into an instance specified by the . + The to convert. + Metadata about the type to convert. + + is . + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + The type of the object to convert to and return. + Options to control the behavior during parsing. + + is . + + is not compatible with the JSON. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + The type of the object to convert to and return. + A metadata provider for serializable types. + + is . + +-or- + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the string beyond a single JSON value. + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + A representation of the JSON value. + + + Converts the representing a single JSON value into an instance specified by the . + The to convert. + Metadata about the type to convert. + + is . + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + The type of the object to convert to and return. + Options to control the behavior during parsing. + + is not compatible with the JSON. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + The type of the object to convert to and return. + A metadata provider for serializable types. + + is . + +-or- + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the string beyond a single JSON value. + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + A representation of the JSON value. + + + Reads one JSON value (including objects or arrays) from the provided reader into an instance specified by the . + The reader to read. + Metadata about the type to convert. + The JSON is invalid, + is not compatible with the JSON, + or a value could not be read from the reader. + + is using unsupported options. + A representation of the JSON value. + + + Reads one JSON value (including objects or arrays) from the provided reader and converts it into an instance of a specified type. + The reader to read the JSON from. + The type of the object to convert to and return. + Options to control the serializer behavior during reading. + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +A value could not be read from the reader. + + is using unsupported options. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Reads one JSON value (including objects or arrays) from the provided reader into a . + The reader to read. + The type of the object to convert to and return. + A metadata provider for serializable types. + + or is . + The JSON is invalid, is not compatible with the JSON, or a value could not be read from the reader. + + is using unsupported options. + There is no compatible for or its serializable members. + The method on the provided did not return a compatible for . + A representation of the JSON value. + + + Reads the UTF-8 encoded text representing a single JSON value into a . + The Stream will be read to completion. + JSON data to parse. + Options to control the behavior during reading. + The type to deserialize the JSON value into. + + is . + The JSON is invalid, is not compatible with the JSON, or there is remaining data in the Stream. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Reads the UTF-8 encoded text representing a single JSON value into a . + The Stream will be read to completion. + JSON data to parse. + Metadata about the type to convert. + The type to deserialize the JSON value into. + + or is . + The JSON is invalid, is not compatible with the JSON, or there is remaining data in the Stream. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Parses the UTF-8 encoded text representing a single JSON value into an instance of the type specified by a generic type parameter. + The JSON text to parse. + Options to control the behavior during parsing. + The target type of the UTF-8 encoded text. + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the span beyond a single JSON value. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Parses the UTF-8 encoded text representing a single JSON value into a . + JSON text to parse. + Metadata about the type to convert. + The type to deserialize the JSON value into. + The JSON is invalid, is not compatible with the JSON, or there is remaining data in the Stream. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Parses the text representing a single JSON value into an instance of the type specified by a generic type parameter. + The JSON text to parse. + Options to control the behavior during parsing. + The type to deserialize the JSON value into. + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the span beyond a single JSON value. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Parses the text representing a single JSON value into a . + JSON text to parse. + Metadata about the type to convert. + The type to deserialize the JSON value into. + + is . + +-or- + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the string beyond a single JSON value. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Parses the text representing a single JSON value into an instance of the type specified by a generic type parameter. + The JSON text to parse. + Options to control the behavior during parsing. + The target type of the JSON value. + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the string beyond a single JSON value. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Parses the text representing a single JSON value into a . + JSON text to parse. + Metadata about the type to convert. + The type to deserialize the JSON value into. + + is . + +-or- + + is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the string beyond a single JSON value. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + Options to control the behavior during parsing. + The type to deserialize the JSON value into. + + is . + + is not compatible with the JSON. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + Metadata about the type to convert. + The type to deserialize the JSON value into. + + is . + +-or- + + is . + + is not compatible with the JSON. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + Options to control the behavior during parsing. + The type to deserialize the JSON value into. + + is not compatible with the JSON. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + Metadata about the type to convert. + The type to deserialize the JSON value into. + + is . + + is not compatible with the JSON. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + Options to control the behavior during parsing. + The type to deserialize the JSON value into. + + is not compatible with the JSON. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the representing a single JSON value into a . + The to convert. + Metadata about the type to convert. + The type to deserialize the JSON value into. + + is . + + is not compatible with the JSON. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Reads one JSON value (including objects or arrays) from the provided reader into an instance of the type specified by a generic type parameter. + The reader to read the JSON from. + Options to control serializer behavior during reading. + The target type of the JSON value. + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +A value could not be read from the reader. + + uses unsupported options. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Reads one JSON value (including objects or arrays) from the provided reader into a . + The reader to read. + Metadata about the type to convert. + The type to deserialize the JSON value into. + The JSON is invalid, is not compatible with the JSON, or a value could not be read from the reader. + + is using unsupported options. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + + + + + + + + + + + + + + + + + + Reads the UTF-8 encoded text representing a single JSON value into an instance specified by the . + The Stream will be read to completion. + JSON data to parse. + Metadata about the type to convert. + The that can be used to cancel the read operation. + + or is . + The JSON is invalid, + or when there is remaining data in the Stream. + The cancellation token was canceled. This exception is stored into the returned task. + A representation of the JSON value. + + + Asynchronously reads the UTF-8 encoded text representing a single JSON value into an instance of a specified type. The stream will be read to completion. + The JSON data to parse. + The type of the object to convert to and return. + Options to control the behavior during reading. + A cancellation token that may be used to cancel the read operation. + + or is . + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the stream. + There is no compatible for or its serializable members. + The cancellation token was canceled. This exception is stored into the returned task. + A representation of the JSON value. + + + Reads the UTF-8 encoded text representing a single JSON value into a . + The Stream will be read to completion. + JSON data to parse. + The type of the object to convert to and return. + A metadata provider for serializable types. + The that can be used to cancel the read operation. + + , , or is . + The JSON is invalid, the is not compatible with the JSON, or there is remaining data in the Stream. + There is no compatible for or its serializable members. + The method on the provided did not return a compatible for . + The cancellation token was canceled. This exception is stored into the returned task. + A representation of the JSON value. + + + + + + + + + + + + + + + Asynchronously reads the UTF-8 encoded text representing a single JSON value into an instance of a type specified by a generic type parameter. The stream will be read to completion. + The JSON data to parse. + Options to control the behavior during reading. + A token that may be used to cancel the read operation. + The target type of the JSON value. + The JSON is invalid. + +-or- + + is not compatible with the JSON. + +-or- + +There is remaining data in the stream. + There is no compatible for or its serializable members. + + is . + The cancellation token was canceled. This exception is stored into the returned task. + A representation of the JSON value. + + + Reads the UTF-8 encoded text representing a single JSON value into a . + The Stream will be read to completion. + JSON data to parse. + Metadata about the type to convert. + The that can be used to cancel the read operation. + The type to deserialize the JSON value into. + + or is . + The JSON is invalid, is not compatible with the JSON, or there is remaining data in the Stream. + There is no compatible for or its serializable members. + The cancellation token was canceled. This exception is stored into the returned task. + A representation of the JSON value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Wraps the UTF-8 encoded text into an that can be used to deserialize root-level JSON arrays in a streaming manner. + JSON data to parse. + Options to control the behavior during reading. + The that can be used to cancel the read operation. + The element type to deserialize asynchronously. + + is . + The cancellation token was canceled. This exception is stored into the returned task. + An representation of the provided JSON array. + + + + + + + + + + Wraps the UTF-8 encoded text into an that can be used to deserialize root-level JSON arrays in a streaming manner. + JSON data to parse. + Metadata about the element type to convert. + The that can be used to cancel the read operation. + The element type to deserialize asynchronously. + + or is . + The cancellation token was canceled. This exception is stored into the returned task. + An representation of the provided JSON array. + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + Metadata about the type to convert. + + is . + + does not match the type of . + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + The type of the to convert. + Options to control the conversion behavior. + + is not compatible with . + + or is . + There is no compatible for or its serializable members. + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + The type of the to convert. + A metadata provider for serializable types. + + is not compatible with . + + , , or is . + There is no compatible for or its serializable members. + + + Converts the provided value into a . + The value to convert. + Metadata about the type to convert. + + is . + + does not match the type of . + A representation of the value. + + + Converts the value of a specified type into a JSON string. + The value to convert. + The type of the to convert. + Options to control the conversion behavior. + + is not compatible with . + + is . + There is no compatible for or its serializable members. + The JSON string representation of the value. + + + Converts the provided value into a . + The value to convert. + The type of the to convert. + A metadata provider for serializable types. + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + + or is . + A representation of the value. + + + Writes one JSON value (including objects or arrays) to the provided writer. + The writer to write. + The value to convert and write. + Metadata about the type to convert. + + or is . + + does not match the type of . + + + Writes the JSON representation of the specified type to the provided writer. + The JSON writer to write to. + The value to convert and write. + The type of the to convert. + Options to control serialization behavior. + + is not compatible with + + or is . + There is no compatible for or its serializable members. + + + Writes one JSON value (including objects or arrays) to the provided writer. + A JSON writer to write to. + The value to convert and write. + The type of the to convert. + A metadata provider for serializable types. + + is not compatible with . + + or is . + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + + + Converts the value of a type specified by a generic type parameter into a JSON string. + The value to convert. + Options to control serialization behavior. + The type of the value to serialize. + There is no compatible for or its serializable members. + A JSON string representation of the value. + + + Converts the provided value into a . + The value to convert. + Metadata about the type to convert. + The type of the value to serialize. + There is no compatible for or its serializable members. + + is . + A representation of the value. + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + Options to control the conversion behavior. + The type of the value to serialize. + + is . + There is no compatible for or its serializable members. + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + Metadata about the type to convert. + The type of the value to serialize. + + is . + There is no compatible for or its serializable members. + + + Writes the JSON representation of a type specified by a generic type parameter to the provided writer. + A JSON writer to write to. + The value to convert and write. + Options to control serialization behavior. + The type of the value to serialize. + + is . + There is no compatible for or its serializable members. + + + Writes one JSON value (including objects or arrays) to the provided writer. + The writer to write. + The value to convert and write. + Metadata about the type to convert. + The type of the value to serialize. + + or is . + There is no compatible for or its serializable members. + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + Metadata about the type to convert. + The that can be used to cancel the write operation. + + is . + + does not match the type of . + A task that represents the asynchronous write operation. + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + The type of the to convert. + Options to control the conversion behavior. + The that can be used to cancel the write operation. + + is not compatible with . + + or is . + + There is no compatible for or its serializable members. + A task that represents the asynchronous write operation. + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + The type of the to convert. + A metadata provider for serializable types. + The that can be used to cancel the write operation. + + is not compatible with . + + , , or is . + There is no compatible for or its serializable members. + A task that represents the asynchronous write operation. + + + Converts the provided value to UTF-8 encoded JSON text and writes it to the . + The UTF-8 to write to. + The value to convert. + Metadata about the type to convert. + The that can be used to cancel the write operation. + + is . + + does not match the type of . + The cancellation token was canceled. This exception is stored into the returned task. + A task that represents the asynchronous write operation. + + + Asynchronously converts the value of a specified type to UTF-8 encoded JSON text and writes it to the specified stream. + The UTF-8 stream to write to. + The value to convert. + The type of the to convert. + Options to control serialization behavior. + A token that may be used to cancel the write operation. + + is not compatible with . + + or is . + There is no compatible for or its serializable members. + The cancellation token was canceled. This exception is stored into the returned task. + A task that represents the asynchronous write operation. + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + The type of the to convert. + A metadata provider for serializable types. + The that can be used to cancel the write operation. + + is not compatible with . + + , , or is . + There is no compatible for or its serializable members. + The cancellation token was canceled. This exception is stored into the returned task. + A task that represents the asynchronous write operation. + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + Options to control the conversion behavior. + The that can be used to cancel the write operation. + The type of the value to serialize. + + is . + There is no compatible for or its serializable members. + A task that represents the asynchronous write operation. + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + Metadata about the type to convert. + The that can be used to cancel the write operation. + The type of the value to serialize. + + is . + A task that represents the asynchronous write operation. + + + Asynchronously converts a value of a type specified by a generic type parameter to UTF-8 encoded JSON text and writes it to a stream. + The UTF-8 stream to write to. + The value to convert. + Options to control serialization behavior. + A token that may be used to cancel the write operation. + The type of the value to serialize. + + is . + There is no compatible for or its serializable members. + The cancellation token was canceled. This exception is stored into the returned task. + A task that represents the asynchronous write operation. + + + Converts the provided value to UTF-8 encoded JSON text and write it to the . + The UTF-8 to write to. + The value to convert. + Metadata about the type to convert. + The that can be used to cancel the write operation. + The type of the value to serialize. + + is . + There is no compatible for or its serializable members. + The cancellation token was canceled. This exception is stored into the returned task. + A task that represents the asynchronous write operation. + + + Converts the provided value into a . + The value to convert. + Metadata about the type to convert. + + is . + + does not match the type of . + A representation of the value. + + + Converts the provided value into a . + The value to convert. + The type of the to convert. + Options to control the conversion behavior. + + is not compatible with . + + is . + There is no compatible for or its serializable members. + A representation of the value. + + + Converts the provided value into a . + The value to convert. + The type of the to convert. + A metadata provider for serializable types. + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + + or is . + A representation of the value. + + + Converts the provided value into a . + The value to convert. + Options to control the conversion behavior. + The type of the value to serialize. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the provided value into a . + The value to convert. + Metadata about the type to convert. + The type of the value to serialize. + There is no compatible for or its serializable members. + + is . + A representation of the value. + + + Converts the provided value into a . + The value to convert. + Metadata about the type to convert. + + is . + + does not match the type of . + A representation of the value. + + + Converts the provided value into a . + The value to convert. + The type of the to convert. + Options to control the conversion behavior. + + is not compatible with . + + is . + There is no compatible for or its serializable members. + A representation of the value. + + + Converts the provided value into a . + The value to convert. + The type of the to convert. + A metadata provider for serializable types. + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + + or is . + A representation of the value. + + + Converts the provided value into a . + The value to convert. + Options to control the conversion behavior. + The type of the value to serialize. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the provided value into a . + The value to convert. + Metadata about the type to convert. + The type of the value to serialize. + There is no compatible for or its serializable members. + + is . + A representation of the value. + + + Converts the provided value into a . + The value to convert. + Metadata about the type to convert. + + is . + + does not match the type of . + A representation of the value. + + + Converts the provided value into a . + The value to convert. + The type of the to convert. + Options to control the conversion behavior. + + is not compatible with . + + is . + There is no compatible for or its serializable members. + A representation of the value. + + + Converts the provided value into a . + The value to convert. + The type of the to convert. + A metadata provider for serializable types. + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + + or is . + A representation of the value. + + + Converts the provided value into a . + The value to convert. + Options to control the conversion behavior. + The type of the value to serialize. + There is no compatible for or its serializable members. + A representation of the JSON value. + + + Converts the provided value into a . + The value to convert. + Metadata about the type to convert. + The type of the value to serialize. + There is no compatible for or its serializable members. + + is . + A representation of the value. + + + Converts the provided value into a array. + The value to convert. + Metadata about the type to convert. + + is . + + does not match the type of . + A UTF-8 representation of the value. + + + Converts a value of the specified type into a JSON string, encoded as UTF-8 bytes. + The value to convert. + The type of the to convert. + Options to control the conversion behavior. + + is not compatible with . + + is . + There is no compatible for or its serializable members. + A JSON string representation of the value, encoded as UTF-8 bytes. + + + Converts the provided value into a array. + The value to convert. + The type of the to convert. + A metadata provider for serializable types. + + is not compatible with . + + is . + There is no compatible for or its serializable members. + The method of the provided returns for the type to convert. + A UTF-8 representation of the value. + + + Converts the value of a type specified by a generic type parameter into a JSON string, encoded as UTF-8 bytes. + The value to convert. + Options to control the conversion behavior. + The type of the value. + There is no compatible for or its serializable members. + A JSON string representation of the value, encoded as UTF-8 bytes. + + + Converts the provided value into a array. + The value to convert. + Metadata about the type to convert. + The type of the value to serialize. + There is no compatible for or its serializable members. + + is . + A UTF-8 representation of the value. + + + Gets a value that indicates whether unconfigured instances should default to the reflection-based . + + + Specifies scenario-based default serialization options that can be used to construct a instance. + + + + General-purpose option values. These are the same settings that are applied if a member isn't specified. + For information about the default property values that are applied, see JsonSerializerOptions properties. + + + + + + Option values appropriate to Web-based scenarios. + This member implies that: + - Property names are treated as case-insensitive. + - "camelCase" name formatting should be employed. + - Quoted numbers (JSON strings for number properties) are allowed. + + + + Provides options to be used with . + + + Initializes a new instance of the class. + + + Constructs a new instance with a predefined set of options determined by the specified . + The to reason about. + + + Copies the options from a instance to a new instance. + The options instance to copy options from. + + is . + + + Appends a new to the metadata resolution of the current instance. + The generic definition of the specified context type. + + + Returns the converter for the specified type. + The type to return a converter for. + The configured for returned an invalid converter. + There is no compatible for or its serializable members. + The first converter that supports the given type. + + + Gets the contract metadata resolved by the current instance. + The type to resolve contract metadata for. + + is . + + is not valid for serialization. + The contract metadata resolved for . + + + Marks the current instance as read-only to prevent any further user modification. + The instance does not specify a setting. + + + Marks the current instance as read-only preventing any further user modification. + Populates unconfigured properties with the reflection-based default. + + The instance does not specify a setting. Thrown when is . + -or- + The feature switch has been turned off. + + + + Tries to get the contract metadata resolved by the current instance. + The type to resolve contract metadata for. + When this method returns, contains the resolved contract metadata, or if the contract could not be resolved. + + is . + + is not valid for serialization. + + if a contract for was found, or otherwise. + + + + Allows JSON metadata properties to be specified after regular properties in a deserialized JSON object. + This property is set after serialization or deserialization has occurred. + + + Get or sets a value that indicates whether an extra comma at the end of a list of JSON values in an object or array is allowed (and ignored) within the JSON payload being deserialized. + This property was set after serialization or deserialization has occurred. + + if an extra comma at the end of a list of JSON values in an object or array is allowed (and ignored); otherwise. + + + Gets the list of user-defined converters that were registered. + The list of custom converters. + + + Gets a read-only, singleton instance of that uses the default configuration. + + + Gets or sets the default buffer size, in bytes, to use when creating temporary buffers. + The buffer size is less than 1. + This property was set after serialization or deserialization has occurred. + The default buffer size in bytes. + + + Gets or sets a value that determines when properties with default values are ignored during serialization or deserialization. + The default value is . + This property is set to . + This property is set after serialization or deserialization has occurred. + +-or- + + has been set to . These properties cannot be used together. + + + Gets or sets the policy used to convert a key's name to another format, such as camel-casing. + The policy used to convert a key's name to another format. + + + Gets or sets the encoder to use when escaping strings, or to use the default encoder. + The JavaScript character encoding. + + + Gets or sets a value that indicates whether values are ignored during serialization and deserialization. The default value is . + This property was set after serialization or deserialization has occurred. + +-or- + + has been set to a non-default value. These properties cannot be used together. + + if null values are ignored during serialization and deserialization; otherwise, . + + + Gets or sets a value that indicates whether read-only fields are ignored during serialization. A field is read-only if it is marked with the keyword. The default value is . + This property is set after serialization or deserialization has occurred. + + if read-only fields are ignored during serialization; otherwise. + + + Gets or sets a value that indicates whether read-only properties are ignored during serialization. The default value is . + This property was set after serialization or deserialization has occurred. + + if read-only properties are ignored during serialization; otherwise, . + + + Gets or sets a value that indicates whether fields are handled during serialization and deserialization. + The default value is . + This property is set after serialization or deserialization has occurred. + + if public fields are included during serialization; otherwise, . + + + Defines the indentation character being used when is enabled. Defaults to the space character. + + contains an invalid character. + Thrown if this property is set after serialization or deserialization has occurred. + + + Defines the indentation size being used when is enabled. Defaults to two. + + is out of the allowed range. + Thrown if this property is set after serialization or deserialization has occurred. + + + Gets a value that indicates whether the current instance has been locked for user modification. + + + Gets or sets the maximum depth allowed when serializing or deserializing JSON, with the default value of 0 indicating a maximum depth of 64. + This property was set after serialization or deserialization has occurred. + The max depth is set to a negative value. + The maximum depth allowed when serializing or deserializing JSON. + + + + Gets or sets the new line string to use when is . + The default is the value of . + + Thrown when the new line string is . + Thrown when the new line string is not \n or \r\n. + Thrown if this property is set after serialization or deserialization has occurred. + + + Gets or sets an object that specifies how number types should be handled when serializing or deserializing. + This property is set after serialization or deserialization has occurred. + + + Gets or sets the preferred object creation handling for properties when deserializing JSON. + When set to , all properties that are capable of reusing the existing instance will be populated. + + + Gets or sets a value that indicates whether a property's name uses a case-insensitive comparison during deserialization. The default value is . + + if property names are compared case-insensitively; otherwise, . + + + Gets or sets a value that specifies the policy used to convert a property's name on an object to another format, such as camel-casing, or to leave property names unchanged. + A property naming policy, or to leave property names unchanged. + + + Gets or sets a value that defines how comments are handled during deserialization. + This property was set after serialization or deserialization has occurred. + The comment handling enum is set to a value that is not supported (or not within the enum range). + A value that indicates whether comments are allowed, disallowed, or skipped. + + + Gets or sets an object that specifies how object references are handled when reading and writing JSON. + + + Gets or sets a value that indicates whether nullability annotations should be respected during serialization and deserialization. + This property is set after serialization or deserialization has occurred. + + + Gets or sets a value that indicates whether non-optional constructor parameters should be specified during deserialization. + This property is set after serialization or deserialization has occurred. + + + + Gets or sets the contract resolver used by this instance. + The property is set after serialization or deserialization has occurred. + + + Gets the list of chained contract resolvers used by this instance. + + + Gets or sets an object that specifies how deserializing a type declared as an is handled during deserialization. + + + Gets or sets an object that specifies how handles JSON properties that cannot be mapped to a specific .NET member when deserializing object types. + + + Gets a read-only, singleton instance of that uses the web configuration. + + + Gets or sets a value that indicates whether JSON should use pretty printing. By default, JSON is serialized without any extra white space. + This property was set after serialization or deserialization has occurred. + + if JSON is pretty printed on serialization; otherwise, . The default is . + + + Defines the various JSON tokens that make up a JSON text. + + + The token type is a comment string. + + + The token type is the end of a JSON array. + + + The token type is the end of a JSON object. + + + The token type is the JSON literal false. + + + There is no value (as distinct from ). This is the default token type if no data has been read by the . + + + The token type is the JSON literal null. + + + The token type is a JSON number. + + + The token type is a JSON property name. + + + The token type is the start of a JSON array. + + + The token type is the start of a JSON object. + + + The token type is a JSON string. + + + The token type is the JSON literal true. + + + Specifies the data type of a JSON value. + + + A JSON array. + + + The JSON value false. + + + The JSON value null. + + + A JSON number. + + + A JSON object. + + + A JSON string. + + + The JSON value true. + + + There is no value (as distinct from ). + + + Allows the user to define custom behavior when writing JSON using the . + + + Gets or sets the encoder to use when escaping strings, or to use the default encoder. + The JavaScript character encoder used to override the escaping behavior. + + + Defines the indentation character used by when is enabled. Defaults to the space character. + + contains an invalid character. + + + Gets or sets a value that indicates whether the should format the JSON output, which includes indenting nested JSON tokens, adding new lines, and adding white space between property names and values. + + if the JSON output is formatted; if the JSON is written without any extra white space. The default is . + + + Defines the indentation size used by when is enabled. Defaults to two. + + is out of the allowed range. + + + Gets or sets the maximum depth allowed when writing JSON, with the default (that is, 0) indicating a max depth of 1000. + Thrown when the max depth is set to a negative value. + + + + Gets or sets the new line string to use when is . + The default is the value of . + + Thrown when the new line string is . + Thrown when the new line string is not \n or \r\n. + + + Gets or sets a value that indicates whether the should skip structural validation and allow the user to write invalid JSON. + + if structural validation is skipped and invalid JSON is allowed; if an is thrown on any attempt to write invalid JSON. + + + Represents a mutable JSON array. + + + Initializes a new instance of the class that is empty. + Options to control the behavior. + + + Initializes a new instance of the class that contains items from the specified span. + The items to add to the new . + + + Initializes a new instance of the class that contains items from the specified array. + The items to add to the new . + + + Initializes a new instance of the class that contains items from the specified params span. + Options to control the behavior. + The items to add to the new . + + + Initializes a new instance of the class that contains items from the specified params array. + Options to control the behavior. + The items to add to the new . + + + Adds a to the end of the . + The to be added to the end of the . + + + Adds an object to the end of the . + The object to be added to the end of the . + The type of object to be added. + + + Removes all elements from the . + + + Determines whether an element is in the . + The object to locate in the . + + if is found in the ; otherwise, . + + + Initializes a new instance of the class that contains items from the specified . + The . + Options to control the behavior. + The is not a . + The new instance of the class that contains items from the specified . + + + Returns an enumerator that iterates through the . + An for the . + + + Returns an enumerable that wraps calls to . + The type of the value to obtain from the . + An enumerable iterating over values of the array. + + + The object to locate in the . + The to locate in the . + The index of item if found in the list; otherwise, -1. + + + Inserts an element into the at the specified index. + The zero-based index at which should be inserted. + The to insert. + + is less than 0 or is greater than . + + + Removes the first occurrence of a specific from the . + The to remove from the . + + if is successfully removed; otherwise, . + + + + + + Removes the element at the specified index of the . + The zero-based index of the element to remove. + + is less than 0 or is greater than . + + + + + + + Copies the entire to a compatible one-dimensional array, starting at the specified index of the target array. + The one-dimensional that is the destination of the elements copied from . The Array must have zero-based indexing. + The zero-based index in at which copying begins. + + is . + + is less than 0. + The number of elements in the source ICollection is greater than the available space from to the end of the destination . + + + Returns an enumerator that iterates through the . + A for the . + + + Writes the into the provided as JSON. + The . + Options to control the serialization behavior. + The parameter is . + + + Gets the number of elements contained in the . + The number of elements contained in the . + + + Returns . + + if the is read-only; otherwise, . + + + The base class that represents a single node within a mutable JSON document. + + + Casts to the derived type. + The node is not a . + A . + + + Casts to the derived type. + The node is not a . + A . + + + Casts to the derived type. + The node is not a . + A . + + + Creates a new instance of the class. All child nodes are recursively cloned. + A new cloned instance of the current node. + + + Compares the values of two nodes, including the values of all descendant nodes. + The to compare. + The to compare. + + if the tokens are equal; otherwise . + + + Returns the index of the current node from the parent . + The current parent is not a . + The index of the current node. + + + Gets the JSON path. + The JSON Path value. + + + Returns the property name of the current node from the parent object. + The current parent is not a . + The property name of the current node. + + + Gets the value for the current . + The type of the value to obtain from the . + The current cannot be represented as a {TValue}. + The current is not a or is not compatible with {TValue}. + A value converted from the instance. + + + Returns the of the current instance. + The json value kind of the current instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to an . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to an . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to an . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to an . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a specified nullable to a nullable . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an explicit conversion of a given to a . + A to explicitly convert. + A value converted from the instance. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a given to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a nullable . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Defines an implicit conversion of a specified nullable to a . + A to implicitly convert. + A instance converted from the parameter. + + + Parses a as UTF-8-encoded data representing a single JSON value into a . The Stream will be read to completion. + JSON text to parse. + Options to control the node behavior after parsing. + Options to control the document behavior during parsing. + + does not represent a valid single JSON value. + A representation of the JSON value, or null if the input represents the null JSON value. + + + Parses text representing a single JSON value. + JSON text to parse. + Options to control the node behavior after parsing. + Options to control the document behavior during parsing. + + does not represent a valid single JSON value. + A representation of the JSON value, or null if the input represents the null JSON value. + + + Parses text representing a single JSON value. + JSON text to parse. + Options to control the node behavior after parsing. + Options to control the document behavior during parsing. + + is . + + does not represent a valid single JSON value. + A representation of the JSON value, or null if the input represents the null JSON value. + + + Parses one JSON value (including objects or arrays) from the provided reader. + The reader to read. + Options to control the behavior. + + is using unsupported options. + The current token does not start or represent a value. + A value could not be read from the reader. + The from the reader, or null if the input represents the null JSON value. + + + Parses a as UTF-8 encoded data representing a single JSON value into a . The stream will be read to completion. + The JSON text to parse. + Options to control the node behavior after parsing. + Options to control the document behavior during parsing. + The token to monitor for cancellation requests. + + does not represent a valid single JSON value. + The cancellation token was canceled. This exception is stored into the returned task. + A to produce either a representation of the JSON value, or null if the input represents the null JSON value. + + + Replaces this node with a new value. + The value that replaces this node. + The type of value to be replaced. + + + Converts the current instance to a string in JSON format. + Options to control the serialization behavior. + The JSON representation of the current instance. + + + Gets a string representation for the current value appropriate to the node type. + A string representation for the current value appropriate to the node type. + + + Writes the into the provided as JSON. + The . + Options to control the serialization behavior. + The parameter is . + + + Gets or sets the element at the specified index. + The zero-based index of the element to get or set. + + is less than 0 or is greater than the number of properties. + The current is not a . + + + Gets or sets the element with the specified property name. + If the property is not found, is returned. + The name of the property to return. + + is . + The current is not a . + + + Gets the options to control the behavior. + + + Gets the parent . + If there is no parent, is returned. + A parent can either be a or a . + + + Gets the root . + + + Options to control behavior. + + + Gets or sets a value that indicates whether property names on are case insensitive. + + if property names are case insensitive; if property names are case sensitive. + + + Represents a mutable JSON object. + + + Initializes a new instance of the class that contains the specified . + The properties to be added. + Options to control the behavior. + + + Initializes a new instance of the class that is empty. + Options to control the behavior. + + + Adds the specified property to the . + The KeyValuePair structure representing the property name and value to add to the . + An element with the same property name already exists in the . + The property name of is . + + + Adds an element with the provided property name and value to the . + The property name of the element to add. + The value of the element to add. + + is . + An element with the same property name already exists in the . + + + Removes all elements from the . + + + Determines whether the contains an element with the specified property name. + The property name to locate in the . + + is . + + if the contains an element with the specified property name; otherwise, . + + + Initializes a new instance of the class that contains properties from the specified . + The . + Options to control the behavior. + The new instance of the class that contains properties from the specified . + + + Gets the property of the specified index. + The zero-based index of the pair to get. + + is less than 0 or greater than or equal to . + The property at the specified index as a key/value pair. + + + Returns an enumerator that iterates through the . + An enumerator that iterates through the . + + + Determines the index of a specific property name in the object. + The property name to locate. + + is . + The index of if found; otherwise, -1. + + + Inserts a property into the object at the specified index. + The zero-based index at which the property should be inserted. + The property name to insert. + The JSON value to insert. + + is . + An element with the same key already exists in the . + + is less than 0 or greater than . + + + Removes the element with the specified property name from the . + The property name of the element to remove. + + is . + + if the element is successfully removed; otherwise, . + + + Removes the property at the specified index. + The zero-based index of the item to remove. + + is less than 0 or greater than or equal to . + + + Sets a new property at the specified index. + The zero-based index of the property to set. + The property name to store at the specified index. + The JSON value to store at the specified index. + + is less than 0 or greater than or equal to . + + is already specified in a different index. + + already has a parent. + + + Sets a new property value at the specified index. + The zero-based index of the property to set. + The JSON value to store at the specified index. + + is less than 0 or greater than or equal to . + + already has a parent. + + + Determines whether the contains a specific property name and reference. + The element to locate in the . + + if the contains an element with the property name; otherwise, . + + + Copies the elements of the to an array of type KeyValuePair starting at the specified array index. + The one-dimensional Array that is the destination of the elements copied from . + The zero-based index in at which copying begins. + + is . + + is less than 0. + The number of elements in the source ICollection is greater than the available space from to the end of the destination . + + + Removes a key and value from the . + The KeyValuePair structure representing the property name and value to remove from the . + + if the element is successfully removed; otherwise, . + + + Gets the value associated with the specified property name. + The property name of the value to get. + When this method returns, contains the value associated with the specified property name, if the property name is found; otherwise, . + + is . + + if the contains an element with the specified property name; otherwise, . + + + + + + + + + + + + + Returns an enumerator that iterates through the . + An enumerator that iterates through the . + + + + + + + + + + + + + + + + + Returns the value of a property with the specified name. + The name of the property to return. + The JSON value of the property with the specified name. + + if a property with the specified name was found; otherwise, . + + + Writes the into the provided as JSON. + The . + Options to control the serialization behavior. + The parameter is . + + + Gets the number of elements contained in . + The number of elements contained in the . + + + Returns . + + if the is read-only; otherwise, . + + + Gets a collection containing the property names in the . + An containing the keys of the object that implements . + + + Gets a collection containing the property values in the . + An containing the values in the object that implements . + + + + + + Represents a mutable JSON value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The underlying value of the new instance. + Options to control the behavior. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The value to create. + Options to control the behavior. + The type of value to create. + The new instance of the class that contains the specified value. + + + Initializes a new instance of the class that contains the specified value. + The value to create. + The that will be used to serialize the value. + Options to control the behavior. + The type of value to create. + The new instance of the class that contains the specified value. + + + Tries to obtain the current JSON value and returns a value that indicates whether the operation succeeded. + When this method returns, contains the parsed value. + The type of value to obtain. + + if the value can be successfully obtained; otherwise, . + + + + Maps .NET types to JSON schema objects using contract metadata from instances. + + + + Generates a JSON schema corresponding to the contract metadata of the specified type. + The options instance from which to resolve the contract metadata. + The root type for which to generate the JSON schema. + The exporterOptions object controlling the schema generation. + One of the specified parameters is . + The parameter contains unsupported exporterOptions. + A new instance defining the JSON schema for . + + + + Generates a JSON schema corresponding to the specified contract metadata. + The contract metadata for which to generate the schema. + The exporterOptions object controlling the schema generation. + One of the specified parameters is . + The parameter contains unsupported exporterOptions. + A new instance defining the JSON schema for . + + + + Defines the context in which a JSON schema within a type graph is being generated. + + + + Gets the type info for the polymorphic base type if generated as a derived type. + + + + Gets the path to the schema document currently being generated. + + + + Gets the if the schema is being generated for a property. + + + + Gets the for the type being processed. + + + + Controls the behavior of the class. + + + + + Gets the default configuration object used by . + + + + Gets a callback that is invoked for every schema that is generated within the type graph. + + + + Gets a value indicating whether non-nullable schemas should be generated for null oblivious reference types. + + + Specifies that the JSON type should have its method called after deserialization occurs. + + + The method that is called after deserialization. + + + Specifies that the type should have its method called before deserialization occurs. + + + The method that is called before deserialization. + + + Specifies that the type should have its method called after serialization occurs. + + + The method that is called after serialization. + + + Specifies that the type should have its method called before serialization occurs. + + + The method that is called before serialization. + + + Provides the base class for serialization attributes. + + + Creates a new instance of the . + + + When placed on a constructor, indicates that the constructor should be used to create instances of the type on deserialization. + + + Initializes a new instance of . + + + Converts an object or value to or from JSON. + + + When overridden in a derived class, determines whether the converter instance can convert the specified object type. + The type of the object to check whether it can be converted by this converter instance. + + if the instance can convert the specified object type; otherwise, . + + + Gets the type being converted by the current converter instance. + + + Converts an object or value to or from JSON. + The type of object or value handled by the converter. + + + Initializes a new instance. + + + Determines whether the specified type can be converted. + The type to compare against. + + if the type can be converted; otherwise, . + + + Reads and converts the JSON to type . + The reader. + The type to convert. + An object that specifies serialization options to use. + The converted value. + + + Reads a dictionary key from a JSON property name. + The to read from. + The type to convert. + The options to use when reading the value. + The value that was converted. + + + Writes a specified value as JSON. + The writer to write to. + The value to convert to JSON. + An object that specifies serialization options to use. + + + Writes a dictionary key as a JSON property name. + The to write to. + The value to convert. The value of determines if the converter handles values. + The options to use when writing the value. + + + Gets a value that indicates whether should be passed to the converter on serialization, and whether should be passed on deserialization. + + + Gets the type being converted by the current converter instance. + + + When placed on a property or type, specifies the converter type to use. + + + Initializes a new instance of . + + + Initializes a new instance of with the specified converter type. + The type of the converter. + + + When overridden in a derived class and is , allows the derived class to create a in order to pass additional state. + The type of the converter. + The custom converter. + + + Gets the type of the , or if it was created without a type. + The type of the , or if it was created without a type. + + + Supports converting several types by using a factory pattern. + + + When overridden in a derived class, initializes a new instance of the class. + + + Creates a converter for a specified type. + The type handled by the converter. + The serialization options to use. + A converter for which is compatible with . + + + Gets the type being converted by the current converter instance. + + + When placed on a type declaration, indicates that the specified subtype should be opted into polymorphic serialization. + + + Initializes a new attribute with specified parameters. + A derived type that should be supported in polymorphic serialization of the declared base type. + The type discriminator identifier to be used for the serialization of the subtype. + + + Initializes a new attribute with specified parameters. + A derived type that should be supported in polymorphic serialization of the declared base type. + The type discriminator identifier to be used for the serialization of the subtype. + + + Initializes a new attribute with specified parameters. + A derived type that should be supported in polymorphic serialization of the declared based type. + + + A derived type that should be supported in polymorphic serialization of the declared base type. + + + The type discriminator identifier to be used for the serialization of the subtype. + + + When placed on a property of type , any properties that do not have a matching member are added to that dictionary during deserialization and written during serialization. + + + Initializes a new instance of the class. + + + Prevents a property from being serialized or deserialized. + + + Initializes a new instance of . + + + Gets or sets the condition that must be met before a property will be ignored. + + + Controls how the ignores properties on serialization and deserialization. + + + Property is always ignored. + + + Property is always serialized and deserialized, regardless of configuration. + + + + + Property is ignored only if it equals the default value for its type. + + + Property is ignored if its value is . This is applied only to reference-type properties and fields. + + + Indicates that the member should be included for serialization and deserialization. + .NET 7 and earlier versions only: The attribute is applied to a non-public property. + + + Initializes a new instance of . + + + The to be used at run time. + + + Specifies that the built-in be used to convert JSON property names. + + + Specifies that the built-in be used to convert JSON property names. + + + Specifies that the built-in policy be used to convert JSON property names. + + + Specifies that the built-in policy be used to convert JSON property names. + + + Specifies that the built-in policy be used to convert JSON property names. + + + Specifies that JSON property names should not be converted. + + + + + + + Converter to convert enums to and from numeric values. + The enum type that this converter targets. + + + Initializes a new instance of . + + + When overridden in a derived class, determines whether the converter instance can convert the specified object type. + The type of the object to check whether it can be converted by this converter instance. + + if the instance can convert the specified object type; otherwise, . + + + Creates a converter for a specified type. + The type handled by the converter. + The serialization options to use. + A converter for which is compatible with . + + + Determines how handles numbers when serializing and deserializing. + + + The "NaN", "Infinity", and "-Infinity" tokens can be read as floating-point constants, and the and values for these constants will be written as their corresponding JSON string representations. + + + Numbers can be read from tokens. Does not prevent numbers from being read from token. + + + Numbers will only be read from tokens and will only be written as JSON numbers (without quotes). + + + Numbers will be written as JSON strings (with quotes), not as JSON numbers. + + + When placed on a type, property, or field, indicates what settings should be used when serializing or deserializing numbers. + + + Initializes a new instance of . + A bitwise combination of the enumeration values that specify how number types should be handled when serializing or deserializing. + + + Indicates what settings should be used when serializing or deserializing numbers. + An object that determines the number serialization and deserialization settings. + + + Determines how deserialization will handle object creation for fields or properties. + + + Attempt to populate any instances already found on a deserialized field or property. + + + A new instance will always be created when deserializing a field or property. + + + Determines how deserialization handles object creation for fields or properties. + + + Initializes a new instance of . + The handling to apply to the current member. + + + Gets the configuration to use when deserializing members. + + + When placed on a type, indicates that the type should be serialized polymorphically. + + + Creates a new instance. + + + Gets or sets a value that indicates whether the deserializer should ignore any unrecognized type discriminator IDs and revert to the contract of the base type. + + to instruct the deserializer to ignore any unrecognized type discriminator IDs and revert to the contract of the base type; to fail the deserialization for unrecognized type discriminator IDs. + + + Gets or sets a custom type discriminator property name for the polymorphic type. + Uses the default '$type' property name if left unset. + + + Gets or sets the behavior when serializing an undeclared derived runtime type. + + + Specifies the property name that is present in the JSON when serializing and deserializing. + + + Initializes a new instance of with the specified property name. + The name of the property. + + + Gets the name of the property. + The name of the property. + + + Specifies the property order that is present in the JSON when serializing. Lower values are serialized first. + If the attribute is not specified, the default value is 0. + + + Initializes a new instance of with the specified order. + The order of the property. + + + Gets the serialization order of the property. + The serialization order of the property. + + + Indicates that the annotated member must bind to a JSON property on deserialization. + + + Initializes a new instance of . + + + Instructs the System.Text.Json source generator to generate source code to help optimize performance when serializing and deserializing instances of the specified type and types in its object graph. + + + Initializes a new instance of with the specified type. + The type to generate source code for. + + + Gets or sets the mode that indicates what the source generator should generate for the type. If the value is , then the setting specified on will be used. + + + Gets or sets the name of the property for the generated for the type on the generated, derived type. + + + Provides metadata about a set of types that is relevant to JSON serialization. + + + Creates an instance of and binds it with the indicated . + The run time provided options for the context instance. + + + Gets metadata for the specified type. + The type to fetch metadata for. + The metadata for the specified type, or if the context has no metadata for the type. + + + Resolves a contract for the requested type and options. + The type to be resolved. + The configuration to use when resolving the metadata. + A instance matching the requested type, or if no contract could be resolved. + + + Gets the default run-time options for the context. + + + Gets the run-time specified options of the context. If no options were passed when instantiating the context, then a new instance is bound and returned. + + + The generation mode for the System.Text.Json source generator. + + + When specified on JsonSourceGenerationOptionsAttribute.GenerationMode, indicates that both type-metadata initialization logic and optimized serialization logic should be generated for all types. When specified on JsonSerializableAttribute.GenerationMode, indicates that the setting on JsonSourceGenerationOptionsAttribute.GenerationMode should be used. + + + Instructs the JSON source generator to generate type-metadata initialization logic. + + + Instructs the JSON source generator to generate optimized serialization logic. + + + Instructs the System.Text.Json source generator to assume the specified options will be used at run time via . + + + Initializes a new instance of . + + + Constructs a new instance with a predefined set of options determined by the specified . + The to reason about. + + is invalid. + + + + Specifies the default value of when set. + + + Gets or sets the default value of . + + + Gets or sets the default value of . + + + Gets or sets the default value of . + + + Gets or sets the default ignore condition. + + + Gets or sets the default value of . + + + Gets or sets the source generation mode for types that don't explicitly set the mode with . + + + Gets or sets a value that indicates whether to ignore read-only fields. + + + Gets or sets a value that indicates whether to ignore read-only properties. + + + Gets or sets a value that indicates whether to include fields for serialization and deserialization. + + + Specifies the default value of when set. + + + Specifies the default value of when set. + + + Gets or sets the default value of . + + + Specifies the default value of when set. + + + Gets or sets the default value of . + + + Gets or sets the default value of . + + + Gets or sets the default value of . + + + Gets or sets a built-in naming policy to convert JSON property names with. + + + Gets or sets the default value of . + + + + Specifies the default value of when set. + + + Specifies the default value of when set. + + + Gets or sets the default value of . + + + Gets or sets the default value of . + + + Gets or sets a value that indicates whether the source generator defaults to instead of numeric serialization for all enum types encountered in its type graph. + + + Gets or sets a value that indicates whether JSON output is pretty-printed. + + + Converts enumeration values to and from strings. + + + Initializes an instance of the class with the default naming policy that allows integer values. + + + Initializes an instance of the class with a specified naming policy and a value that indicates whether undefined enumeration values are allowed. + The optional naming policy for writing enum values. + + to allow undefined enum values; otherwise, . When , if an enum value isn't defined, it will output as a number rather than a string. + + + Determines whether the specified type can be converted to an enum. + The type to be checked. + + if the type can be converted; otherwise, . + + + Creates a converter for the specified type. + The type handled by the converter. + The serialization options to use. + A converter for which is compatible with . + + + Converter to convert enums to and from strings. + The enum type that this converter targets. + + + Initializes a new instance of with the default naming policy and that allows integer values. + + + Initializes a new instance of . + Optional naming policy for writing enum values. + + to allow undefined enum values. When , if an enum value isn't defined, it outputs as a number rather than a string. + + + When overridden in a derived class, determines whether the converter instance can convert the specified object type. + The type of the object to check whether it can be converted by this converter instance. + + if the instance can convert the specified object type; otherwise, . + + + Creates a converter for a specified type. + The type handled by the converter. + The serialization options to use. + A converter for which is compatible with . + + + + + + + + Defines how objects of a derived runtime type that has not been explicitly declared for polymorphic serialization should be handled. + + + An object of undeclared runtime type will fail polymorphic serialization. + + + An object of undeclared runtime type will fall back to the serialization contract of the base type. + + + An object of undeclared runtime type will revert to the serialization contract of the nearest declared ancestor type. + Certain interface hierarchies are not supported due to diamond ambiguity constraints. + + + Defines how deserializing a type declared as an is handled during deserialization. + + + A type declared as is deserialized as a . + + + A type declared as is deserialized as a . + + + Determines how handles JSON properties that cannot be mapped to a specific .NET member when deserializing object types. + + + Throws an exception when an unmapped property is encountered. + + + Silently skips any unmapped properties. This is the default behavior. + + + When placed on a type, determines the configuration for the specific type, overriding the global setting. + + + Initializes a new instance of . + The handling to apply to the current member. + + + Gets the unmapped member handling setting for the attribute. + + + Defines the default, reflection-based JSON contract resolver used by System.Text.Json. + + + Creates a mutable instance. + + + Resolves a JSON contract for a given and configuration. + The type for which to resolve a JSON contract. + A instance used to determine contract configuration. + + or is . + A defining a reflection-derived JSON contract for . + + + Gets a list of user-defined callbacks that can be used to modify the initial contract. + + + Used to resolve the JSON serialization contract for requested types. + + + Resolves a contract for the requested type and options. + Type to be resolved. + Configuration used when resolving the metadata. + A instance matching the requested type, or if no contract could be resolved. + + + Provides serialization metadata about a collection type. + The collection type. + + + + A instance representing the element type. + + + If a dictionary type, the instance representing the key type. + + + The option to apply to number collection elements. + + + A to create an instance of the collection when deserializing. + + + An optimized serialization implementation assuming pre-determined defaults. + + + Represents a supported derived type defined in the metadata of a polymorphic type. + + + Initializes a new instance of the class that represents a supported derived type with an integer type discriminator. + The derived type to be supported by the polymorphic type metadata. + The type discriminator to be associated with the derived type. + + + Initializes a new instance of the class that represents a supported derived type with a string type discriminator. + The derived type to be supported by the polymorphic type metadata. + The type discriminator to be associated with the derived type. + + + Initializes a new instance of the class that represents a supported derived type without a type discriminator. + The derived type to be supported by the polymorphic type metadata. + + + Gets a derived type that should be supported in polymorphic serialization of the declared base type. + + + Gets the type discriminator identifier to be used for the serialization of the subtype. + + + Provides helpers to create and initialize metadata for JSON-serializable types. + + + Creates serialization metadata for an array. + The serialization and deserialization options to use. + Provides serialization metadata about the collection type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The serialization and deserialization options to use. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the key type. + The generic definition of the value type. + Serialization metadata for the given type. + + + Creates serialization metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the key type. + The generic definition of the value type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for and types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + A method to create an immutable dictionary instance. + The generic definition of the type. + The generic definition of the key type. + The generic definition of the value type. + Serialization metadata for the given type. + + + Creates metadata for non-dictionary immutable collection types. + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + A method to create an immutable dictionary instance. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the key type. + The generic definition of the value type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates serialization metadata for . + The to use. + Provides serialization metadata about the collection type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for a complex class or struct. + The to use for serialization and deserialization. + Provides serialization metadata about an object type with constructors, properties, and fields. + The type of the class or struct. + + or is . + A instance representing the class or struct. + + + Creates metadata for a property or field. + The to use for serialization and deserialization. + Provides serialization metadata about the property or field. + The type that the converter for the property returns or accepts when converting JSON data. + A instance initialized with the provided metadata. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + A method for adding elements to the collection when using the serializer's code-paths. + The generic definition of the type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates serialization metadata for . + The to use. + Provides serialization metadata about the collection type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + A method for adding elements to the collection when using the serializer's code-paths. + The generic definition of the type. + Serialization metadata for the given type. + + + Creates metadata for types assignable to . + The to use for serialization and deserialization. + Provides serialization metadata about the collection type. + The generic definition of the type. + The generic definition of the element type. + Serialization metadata for the given type. + + + Creates metadata for a primitive or a type with a custom converter. + The to use for serialization and deserialization. + + The generic type definition. + A instance representing the type. + + + Creates a instance that converts values. + The to use for serialization and deserialization. + The generic definition for the enum type. + A instance that converts values. + + + Creates a instance that converts values. + The to use for serialization and deserialization. + The generic definition for the underlying nullable type. + A instance that converts values + + + Creates a instance that converts values. + Serialization metadata for the underlying nullable type. + The generic definition for the underlying nullable type. + A instance that converts values + + + Gets a type converter that throws a . + The generic definition for the type. + A instance that throws + + + Gets an object that converts values. + + + Gets an object that converts byte array values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Returns a instance that converts values. + + + Gets an object that converts values. + An instance that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Returns a instance that converts values. + + + Returns a instance that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Returns a instance that converts values. + + + Gets a JSON converter that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Returns a instance that converts values. + + + Gets an object that converts values. + + + Returns a instance that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Returns a instance that converts values. + + + Gets a JSON converter that converts values. + + + Returns a instance that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Gets an object that converts values. + + + Provides serialization metadata about an object type with constructors, properties, and fields. + The object type to serialize or deserialize. + + + + Provides a delayed attribute provider corresponding to the deserialization constructor. + + + Provides a mechanism to initialize metadata for a parameterized constructor of the class or struct to be used when deserializing. + + + Gets or sets an object that specifies how number properties and fields should be processed when serializing and deserializing. + + + Gets or sets a mechanism to create an instance of the class or struct using a parameterless constructor during deserialization. + + + Gets or sets a mechanism to create an instance of the class or struct using a parameterized constructor during deserialization. + + + Gets or sets a mechanism to initialize metadata for properties and fields of the class or struct. + + + Gets or sets a serialization implementation for instances of the class or struct that assumes options specified by . + + + Provides JSON serialization-related metadata about a constructor parameter. + + + Gets a custom attribute provider for the current parameter. + + + Gets the declaring type of the constructor. + + + Gets a value indicating the default value if the parameter has a default value. + + + Gets a value indicating whether the parameter has a default value. + + + Gets a value indicating whether the parameter represents a required or init-only member initializer. + + + Gets a value indicating whether the constructor parameter is annotated as nullable. + + + Gets the name of the parameter. + + + Gets the type of this parameter. + + + Gets the zero-based position of the parameter in the formal parameter list. + + + Provides information about a constructor parameter required for JSON deserialization. + + + + Gets or sets the default value of the parameter. + + + Gets or sets a value that specifies whether a default value was specified for the parameter. + + + Whether the parameter represents a required or init-only member initializer. + + + Whether the parameter allows values. + + + Gets or sets the name of the parameter. + + + Gets or sets the type of the parameter. + + + Gets or sets the zero-based position of the parameter in the formal parameter list. + + + Defines polymorphic configuration for a specified base type. + + + Creates an empty instance. + + + Gets the list of derived types supported in the current polymorphic type configuration. + + + Gets or sets a value that indicates whether the serializer should ignore any unrecognized type discriminator IDs and revert to the contract of the base type. + The parent instance has been locked for further modification. + + if the serializer should ignore any unrecognized type discriminator IDs and revert to the contract of the base type; if the deserialization should fail when an unrecognized type discriminator ID is encountered. + + + Gets or sets a custom type discriminator property name for the polymorphic type. + Uses the default '$type' property name if left unset. + The parent instance has been locked for further modification. + + + Gets or sets the behavior when serializing an undeclared derived runtime type. + The parent instance has been locked for further modification. + + + Provides JSON serialization-related metadata about a property or field. + + + Gets the constructor parameter associated with the current property. + + + Gets or sets the custom attribute provider for the current property. + The instance has been locked for further modification. + + + Gets or sets a custom converter override for the current property. + The instance has been locked for further modification. + + + Gets the declaring type of the property. + + + Gets or sets a getter delegate for the property. + The instance has been locked for further modification. + + + Gets or sets a value that indicates whether the current property is a special extension data property. + The instance has been locked for further modification. + +-or- + +The current is not valid for use with extension data. + + + Gets or sets a value indicating whether the return type of the getter is annotated as nullable. + + The instance has been locked for further modification. + -or- + The current is not a reference type or . + + + + Gets or sets a value that indicates whether the current property is required for deserialization to be successful. + The instance has been locked for further modification. + + + Gets or sets a value indicating whether the input type of the setter is annotated as nullable. + + The instance has been locked for further modification. + -or- + The current is not a reference type or . + + + + Gets or sets the JSON property name used when serializing the property. + + is . + The instance has been locked for further modification. + + + Gets or sets the applied to the current property. + The instance has been locked for further modification. + + + Gets or sets a value indicating if the property or field should be replaced or populated during deserialization. + + + Gets the value associated with the current contract instance. + + + Gets or sets the serialization order for the current property. + The instance has been locked for further modification. + + + Gets the type of the current property. + + + Gets or sets a setter delegate for the property. + The instance has been locked for further modification. + + + Gets or sets a predicate that determines whether the current property value should be serialized. + The instance has been locked for further modification. + + + Provides serialization metadata about a property or field. + The type to convert of the for the property. + + + + Provides a factory that maps to . + + + A for the property or field, specified by . + + + The declaring type of the property or field. + + + Provides a mechanism to get the property or field's value. + + + Whether the property was annotated with . + + + Specifies a condition for the member to be ignored. + + + Whether the property was annotated with . + + + If , indicates that the member is a property, otherwise indicates the member is a field. + + + Whether the property or field is public. + + + Whether the property or field is a virtual property. + + + The name to be used when processing the property or field, specified by . + + + If the property or field is a number, specifies how it should processed when serializing and deserializing. + + + The name of the property or field. + + + The info for the property or field's type. + + + Provides a mechanism to set the property or field's value. + + + Provides JSON serialization-related metadata about a type. + + + Creates a blank instance for the current . + The declared type for the property. + The property name used in JSON serialization and deserialization. + + or is . + + cannot be used for serialization. + The instance has been locked for further modification. + A blank instance. + + + Creates a blank instance. + The type for which contract metadata is specified. + The instance the metadata is associated with. + + or is . + + cannot be used for serialization. + A blank instance. + + + Creates a blank instance. + The instance the metadata is associated with. + The type for which contract metadata is specified. + + is . + A blank instance. + + + Locks the current instance for further modification. + + + Gets or sets an attribute provider corresponding to the deserialization constructor. + The instance has been locked for further modification. + + + Gets the associated with the current type. + + + Gets or sets a parameterless factory to be used on deserialization. + The instance has been locked for further modification. + +-or- + +A parameterless factory is not supported for the current metadata . + + + Gets the element type corresponding to an enumerable, dictionary or optional type. + + + Gets a value that indicates whether the current instance has been locked for modification. + + + Gets the key type corresponding to a dictionary type. + + + Gets a value that describes the kind of contract metadata that the current instance specifies. + + + Gets or sets the type-level override. + The instance has been locked for further modification. + An invalid value was specified. + + + Gets or sets a callback to be invoked after deserialization occurs. + The instance has been locked for further modification. + +-or- + +Serialization callbacks are only supported for metadata. + + + Gets or sets a callback to be invoked before deserialization occurs. + The instance has been locked for further modification. + +-or- + +Serialization callbacks are only supported for metadata. + + + Gets or sets a callback to be invoked after serialization occurs. + The instance has been locked for further modification. + +-or- + +Serialization callbacks are only supported for metadata. + + + Gets or sets a callback to be invoked before serialization occurs. + The instance has been locked for further modification. + +-or- + +Serialization callbacks are only supported for metadata. + + + Gets the value associated with the current instance. + + + Gets or sets the from which this metadata instance originated. + The instance has been locked for further modification. + + + Gets or sets a configuration object specifying polymorphism metadata. + + has been associated with a different instance. + The instance has been locked for further modification. + +-or- + +Polymorphic serialization is not supported for the current metadata . + + + Gets or sets the preferred value for properties contained in the type. + The instance has been locked for further modification. + +-or- + +Unmapped member handling is only supported for JsonTypeInfoKind.Object. + Specified an invalid value. + + + Gets the list of metadata corresponding to the current type. + + + Gets the for which the JSON serialization contract is being defined. + + + Gets or sets the type-level override. + The instance has been locked for further modification. + +-or- + +Unmapped member handling is only supported for . + An invalid value was specified. + + + Provides JSON serialization-related metadata about a type. + The generic definition of the type. + + + Gets or sets a parameterless factory to be used on deserialization. + The instance has been locked for further modification. + +-or- + +A parameterless factory is not supported for the current metadata . + + + Serializes an instance of using values specified at design time. + + + Describes the kind of contract metadata a specifies. + + + Type is serialized as a dictionary with key/value pair entries. + + + Type is serialized as a collection with elements. + + + Type is either a simple value or uses a custom converter. + + + Type is serialized as an object with properties. + + + Contains utilities and combinators acting on . + + + Combines multiple sources into one. + Sequence of contract resolvers to be queried for metadata. + A combining results from . + + + Combines multiple sources into one. + Sequence of contract resolvers to be queried for metadata. + + is . + A combining results from . + + + Creates a resolver and applies modifications to the metadata generated by the source . + The source resolver generating metadata. + The delegate that modifies non- results. + A new instance with modifications applied. + + + Defines how the deals with references on serialization and deserialization. + + + Initializes a new instance of the class. + + + Returns the used for each serialization call. + The resolver to use for serialization and deserialization. + + + Gets an object that indicates whether an object is ignored when a reference cycle is detected during serialization. + + + Gets an object that indicates whether metadata properties are honored when JSON objects and arrays are deserialized into reference types, and written when reference types are serialized. This is necessary to create round-trippable JSON from objects that contain cycles or duplicate references. + + + Defines how the deals with references on serialization and deserialization. + The type of the to create on each serialization or deserialization call. + + + Initializes a new instance of the generic class that can create a instance of the specified type. + + + Creates a new of type used for each serialization call. + The new resolver to use for serialization and deserialization. + + + Defines how the deals with references on serialization and deserialization. + Defines the core behavior of preserving references on serialization and deserialization. + + + Initializes a new instance of the class. + + + Adds an entry to the bag of references using the specified ID and value. + This method gets called when an $id metadata property from a JSON object is read. + The identifier of the JSON object or array. + The value of the CLR reference type object that results from parsing the JSON object. + + + Gets the reference identifier of the specified value if exists; otherwise a new ID is assigned. + This method gets called before a CLR object is written so we can decide whether to write \$id and enumerate the rest of its properties or \$ref and step into the next object. + The value of the CLR reference type object to get an ID for. + When this method returns, if a reference to value already exists; otherwise, . + The reference ID for the specified object. + + + Returns the CLR reference type object related to the specified reference ID. + This method is called when $ref metadata property is read. + The reference ID related to the returned object. + The reference type object related to the specified reference ID. + + + Provides a high-performance API for forward-only, read-only access to UTF-8 encoded JSON text. + + + Initializes a new instance of the structure that processes a read-only sequence of UTF-8 encoded text and indicates whether the input contains all the text to process. + The UTF-8 encoded JSON text to process. + + to indicate that the input sequence contains the entire data to process; to indicate that the input span contains partial data with more data to follow. + The reader state. If this is the first call to the constructor, pass the default state; otherwise, pass the value of the property from the previous instance of the . + + + Initializes a new instance of the structure that processes a read-only sequence of UTF-8 encoded text using the specified options. + The UTF-8 encoded JSON text to process. + Options that define customized behavior of the that differs from the JSON RFC (for example, how to handle comments or maximum depth allowed when reading). By default, the follows the JSON RFC strictly; comments within the JSON are invalid, and the maximum depth is 64. + + + Initializes a new instance of the structure that processes a read-only span of UTF-8 encoded text and indicates whether the input contains all the text to process. + The UTF-8 encoded JSON text to process. + + to indicate that the input sequence contains the entire data to process; to indicate that the input span contains partial data with more data to follow. + The reader state. If this is the first call to the constructor, pass the default state; otherwise, pass the value of the property from the previous instance of the . + + + Initializes a new instance of the structure that processes a read-only span of UTF-8 encoded text using the specified options. + The UTF-8 encoded JSON text to process. + Options that define customized behavior of the that differs from the JSON RFC (for example, how to handle comments or maximum depth allowed when reading). By default, the follows the JSON RFC strictly; comments within the JSON are invalid, and the maximum depth is 64. + + + Copies the current JSON token value from the source, unescaped, as UTF-8 bytes to a buffer. + A buffer to write the unescaped UTF-8 bytes into. + The JSON token is not a string, that is, it's not or . + +-or- + +The JSON string contains invalid UTF-8 bytes or invalid UTF-16 surrogates. + The destination buffer is too small to hold the unescaped value. + The number of bytes written to . + + + Copies the current JSON token value from the source, unescaped, as UTF-16 characters to a buffer. + A buffer to write the transcoded UTF-16 characters into. + The JSON token is not a string, that is, it's not or . + +-or- + +The JSON string contains invalid UTF-8 bytes or invalid UTF-16 surrogates. + The destination buffer is too small to hold the unescaped value. + The number of characters written to . + + + Reads the next JSON token value from the source as a . + The value of the JSON token isn't a Boolean value (that is, or ). + + if the is ; if the is . + + + Parses the current JSON token value from the source as a . + The value of the JSON token is not a . + The numeric format of the JSON token value is incorrect (for example, it contains a fractional value or is written in scientific notation). + +-or- + +The JSON token value represents a number less than Byte.MinValue or greater than Byte.MaxValue. + The value of the UTF-8 encoded token. + + + Parses the current JSON token value from the source and decodes the Base64 encoded JSON string as a byte array. + The type of the JSON token is not a . + The value is not encoded as Base64 text, so it can't be decoded to bytes. + +-or- + +The value contains invalid or more than two padding characters. + +-or- + +The value is incomplete. That is, the JSON string length is not a multiple of 4. + The byte array that represents the current JSON token value. + + + Parses the current JSON token value from the source as a comment and transcodes it as a . + The JSON token is not a comment. + The comment that represents the current JSON token value. + + + Reads the next JSON token value from the source and parses it to a . + The value of the JSON token isn't a . + The JSON token value cannot be read as a . + +-or- + +The entire UTF-8 encoded token value cannot be parsed to a value. + +-or- + +The JSON token value is of an unsupported format. + The date and time value, if the entire UTF-8 encoded token value can be successfully parsed. + + + Reads the next JSON token value from the source and parses it to a . + The value of the JSON token isn't a . + The JSON token value cannot be read as a . + +-or- + +The entire UTF-8 encoded token value cannot be parsed to a value. + +-or- + +The JSON token value is of an unsupported format. + The date and time offset, if the entire UTF-8 encoded token value can be successfully parsed. + + + Reads the next JSON token value from the source and parses it to a . + The JSON token value isn't a . + The JSON token value represents a number less than Decimal.MinValue or greater than Decimal.MaxValue. + The UTF-8 encoded token value parsed to a . + + + Reads the next JSON token value from the source and parses it to a . + The JSON token value isn't a . + The JSON token value represents a number less than Double.MinValue or greater than Double.MaxValue. + The UTF-8 encoded token value parsed to a . + + + Reads the next JSON token value from the source and parses it to a . + The value of the JSON token isn't a . + The JSON token value is in an unsupported format for a Guid. + +-or- + +The entire UTF-8 encoded token value cannot be parsed to a value. + The GUID value, if the entire UTF-8 encoded token value can be successfully parsed. + + + Parses the current JSON token value from the source as a . + The value of the JSON token is not a . + The numeric format of the JSON token value is incorrect (for example, it contains a fractional value or is written in scientific notation). + +-or- + +The JSON token value represents a number less than Int16.MinValue or greater than Int16.MaxValue. + The UTF-8 encoded token value parsed to an . + + + Reads the next JSON token value from the source and parses it to an . + The JSON token value isn't a . + The JSON token value is of the incorrect numeric format. For example, it contains a decimal or is written in scientific notation. + +-or- + +The JSON token value represents a number less than Int32.MinValue or greater than Int32.MaxValue. + The UTF-8 encoded token value parsed to an . + + + Reads the next JSON token value from the source and parses it to an . + The JSON token value isn't a . + The JSON token value is of the incorrect numeric format. For example, it contains a decimal or is written in scientific notation. + +-or- + +The JSON token value represents a number less than Int64.MinValue or greater than Int64.MaxValue. + The UTF-8 encoded token value parsed to an . + + + Parses the current JSON token value from the source as an . + The value of the JSON token is not a . + The numeric format of the JSON token value is incorrect (for example, it contains a fractional value or is written in scientific notation). + +-or- + +The JSON token value represents a number less than SByte.MinValue or greater than SByte.MaxValue. + The UTF-8 encoded token value parsed to an . + + + Reads the next JSON token value from the source and parses it to a . + The JSON token value isn't a . + The JSON token value represents a number less than Single.MinValue or greater than Single.MaxValue. + The UTF-8 encoded token value parsed to a . + + + Reads the next JSON token value from the source unescaped and transcodes it as a string. + The JSON token value isn't a string (that is, not a , , or ). + +-or- + +The JSON string contains invalid UTF-8 bytes or invalid UTF-16 surrogates. + The token value parsed to a string, or if is . + + + Parses the current JSON token value from the source as a . + The value of the JSON token is not a . + The numeric format of the JSON token value is incorrect (for example, it contains a fractional value or is written in scientific notation). + +-or- + +The JSON token value represents a number less than UInt16.MinValue or greater than UInt16.MaxValue. + The UTF-8 encoded token value parsed to a . + + + Reads the next JSON token value from the source and parses it to a . + The JSON token value isn't a . + The JSON token value is of the incorrect numeric format. For example, it contains a decimal or is written in scientific notation. + +-or- + +The JSON token value represents a number less than UInt32.MinValue or greater than UInt32.MaxValue. + The UTF-8 encoded token value parsed to a . + + + Reads the next JSON token value from the source and parses it to a . + The JSON token value isn't a . + The JSON token value is of the incorrect numeric format. For example, it contains a decimal or is written in scientific notation. + +-or- + +The JSON token value represents a number less than UInt64.MinValue or greater than UInt64.MaxValue. + The UTF-8 encoded token value parsed to a . + + + Reads the next JSON token from the input source. + An invalid JSON token according to the JSON RFC is encountered. + +-or- + +The current depth exceeds the recursive limit set by the maximum depth. + + if the token was read successfully; otherwise, . + + + Skips the children of the current JSON token. + The reader was given partial data with more data to follow (that is, is ). + An invalid JSON token was encountered while skipping, according to the JSON RFC. + +-or- + +The current depth exceeds the recursive limit set by the maximum depth. + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains the byte equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to parse the current JSON token value from the source and decodes the Base64 encoded JSON string as a byte array and returns a value that indicates whether the operation succeeded. + When this method returns, contains the decoded binary representation of the Base64 text. + The JSON token is not a . + + if the entire token value is encoded as valid Base64 text and can be successfully decoded to bytes; otherwise, . + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains the date and time value equivalent to the current JSON string if the conversion succeeded, or if the conversion failed. + The value of the JSON token isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains the date and time value equivalent to the current JSON string if the conversion succeeded, or if the conversion failed. + The value of the JSON token isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains the decimal equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains a double-precision floating point value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains the GUID equivalent to the current JSON string if the conversion succeeded, or if the conversion failed. + The value of the JSON token isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to parse the current JSON token value from the source as an and returns a value that indicates whether the operation succeeded. + When this method returns, contains the 16-bit integer value equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to parse the current JSON token value from the source as an and returns a value that indicates whether the operation succeeded. + When this method returns, contains the 32-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to an value; otherwise, . + + + Tries to parse the current JSON token value from the source as an and returns a value that indicates whether the operation succeeded. + When this method returns, contains the 64-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to an value; otherwise, . + + + Tries to parse the current JSON token value from the source as an and returns a value that indicates whether the operation succeeded. + When this method returns, contains the signed byte equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to an value; otherwise, . + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains the single-precision floating point value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to an value; otherwise, . + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains the unsigned 16-bit integer value equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains unsigned 32-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded. + When this method returns, contains unsigned 64-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed. + The JSON token value isn't a . + + if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, . + + + Tries to skip the children of the current JSON token. + An invalid JSON token was encountered while skipping, according to the JSON RFC. + +-or - + +The current depth exceeds the recursive limit set by the maximum depth. + + if there was enough data for the children to be skipped successfully; otherwise, . + + + Compares the UTF-8 encoded text in a read-only byte span to the unescaped JSON token value in the source and returns a value that indicates whether they match. + The UTF-8 encoded text to compare against. + The JSON token is not a JSON string (that is, it is not or ). + + if the JSON token value in the source matches the UTF-8 encoded lookup text; otherwise, . + + + Compares the text in a read-only character span to the unescaped JSON token value in the source and returns a value that indicates whether they match. + The text to compare against. + The JSON token is not a JSON string (that is, it is not or ). + + if the JSON token value in the source matches the lookup text; otherwise, . + + + Compares the string text to the unescaped JSON token value in the source and returns a value that indicates whether they match. + The text to compare against. + The JSON token is not a JSON string (that is, it is not or ). + + if the JSON token value in the source matches the lookup text; otherwise, . + + + Gets the total number of bytes consumed so far by this instance of the . + The total number of bytes consumed so far. + + + Gets the depth of the current token. + The depth of the current token. + + + Gets the current state to pass to a constructor with more data. + The current reader state. + + + Gets a value that indicates which Value property to use to get the token value. + + if should be used to get the token value; if should be used instead. + + + Gets a value that indicates whether all the JSON data was provided or there is more data to come. + + if the reader was constructed with the input span or sequence containing the entire JSON data to process; if the reader was constructed with an input span or sequence that may contain partial JSON data with more data to follow. + + + Gets the current within the provided UTF-8 encoded input ReadOnlySequence<byte> or a default if the struct was constructed with a ReadOnlySpan<byte>. + The current within the provided UTF-8 encoded input ReadOnlySequence<byte> or a default if the struct was constructed with a ReadOnlySpan<byte>. + + + Gets the index that the last processed JSON token starts at (within the given UTF-8 encoded input text), skipping any white space. + The starting index of the last processed JSON token within the given UTF-8 encoded input text. + + + Gets the type of the last processed JSON token in the UTF-8 encoded JSON text. + The type of the last processed JSON token. + + + Gets a value that indicates whether the current or properties contain escape sequences per RFC 8259 section 7, and therefore require unescaping before being consumed. + + + Gets the raw value of the last processed token as a ReadOnlySequence<byte> slice of the input payload, only if the token is contained within multiple segments. + A byte read-only sequence. + + + Gets the raw value of the last processed token as a ReadOnlySpan<byte> slice of the input payload, if the token fits in a single segment or if the reader was constructed with a JSON payload contained in a ReadOnlySpan<byte>. + A read-only span of bytes. + + + Provides a high-performance API for forward-only, non-cached writing of UTF-8 encoded JSON text. + + + Initializes a new instance of the class using the specified to write the output to and customization options. + The destination for writing JSON text. + Defines the customized behavior of the . By default, it writes minimized JSON (with no extra white space) and validates that the JSON being written is structurally valid according to the JSON RFC. + + is . + + + Initializes a new instance of the class using the specified stream to write the output to and customization options. + The destination for writing JSON text. + Defines the customized behavior of the . By default, it writes minimized JSON (with no extra white space) and validates that the JSON being written is structurally valid according to the JSON RFC. + + is . + + + Commits any leftover JSON text that has not yet been flushed and releases all resources used by the current instance. + + + Asynchronously commits any leftover JSON text that has not yet been flushed and releases all resources used by the current instance. + A task representing the asynchronous dispose operation. + + + Commits the JSON text written so far, which makes it visible to the output destination. + This instance has been disposed. + + + Asynchronously commits the JSON text written so far, which makes it visible to the output destination. + The token to monitor for cancellation requests. The default value is . + This instance has been disposed. + The cancellation token was canceled. This exception is stored into the returned task. + A task representing the asynchronous flush operation. + + + Resets the internal state of this instance so that it can be reused. + This instance has been disposed. + + + Resets the internal state of this instance so that it can be reused with a new instance of . + The destination for writing JSON text. + + is . + This instance has been disposed. + + + Resets the internal state of this instance so that it can be reused with a new instance of . + The destination for writing JSON text. + + is . + This instance has been disposed. + + + Writes the property name and raw bytes value (as a Base64 encoded JSON string) as part of a name/value pair of a JSON object. + The UTF-8 encoded name of the property to write. + The binary data to write as Base64 encoded text. + The specified property name or value is too large. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the property name and raw bytes value (as a Base64 encoded JSON string) as part of a name/value pair of a JSON object. + The property name of the JSON object to be transcoded and written as UTF-8. + The binary data to write as Base64 encoded text. + The specified property name or value is too large. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the property name and raw bytes value (as a Base64 encoded JSON string) as part of a name/value pair of a JSON object. + The property name of the JSON object to be transcoded and written as UTF-8. + The binary data to write as Base64 encoded text. + The specified property name or value is too large. + Validation is enabled, and this method would result in writing invalid JSON. + The parameter is . + + + Writes the pre-encoded property name and raw bytes value (as a Base64 encoded JSON string) as part of a name/value pair of a JSON object. + The JSON-encoded name of the property to write. + The binary data to write as Base64 encoded text. + The specified value is too large. + Validation is enabled, and this method would result in writing invalid JSON. + + + + + + + Writes the raw bytes value as a Base64 encoded JSON string. + The binary data to be written as a Base64 encoded JSON string. + The specified value is too large. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes a property name specified as a read-only span of bytes and a value (as a JSON literal true or false) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON literal true or false as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a property name specified as a read-only character span and a value (as a JSON literal true or false) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON literal true or false as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a property name specified as a string and a value (as a JSON literal true or false) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON literal true or false as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the operation would result in writing invalid JSON. + The parameter is . + + + Writes the pre-encoded property name and value (as a JSON literal true or false) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON literal true or false as part of the name/value pair. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes a value (as a JSON literal true or false). + The value to be written as a JSON literal true or false. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a UTF-8 text value as a JSON comment. + The UTF-8 encoded value to be written as a JSON comment within /*..*/. + The specified value is too large. + +-or- + + contains a comment delimiter (that is, */). + + + Writes a UTF-16 text value as a JSON comment. + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON comment within /*..*/. + The specified value is too large. + +-or- + + contains a comment delimiter (that is, */). + + + Writes a string text value as a JSON comment. + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON comment within /*..*/. + The specified value is too large. + +-or- + + contains a comment delimiter (that is, */). + The parameter is . + + + Writes the end of a JSON array. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes the end of a JSON object. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a property name specified as a read-only span of bytes and the JSON literal null as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and the JSON literal null as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a string and the JSON literal null as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes the pre-encoded property name and the JSON literal null as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the JSON literal null. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a property name specified as a read-only span of bytes and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only span of bytes and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only span of bytes and an value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only span of bytes and an value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only span of bytes and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only span of bytes and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only span of bytes and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and an value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and an value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a string and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and an value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and an value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and a value (as a JSON number) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON number as part of the name/value pair. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes a value (as a JSON number). + The value to be written as a JSON number. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a value (as a JSON number). + The value to be written as a JSON number. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes an value (as a JSON number). + The value to be written as a JSON number. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes an value (as a JSON number). + The value to be written as a JSON number. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a value (as a JSON number). + The value to be written as a JSON number. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a value (as a JSON number). + The value to be written as a JSON number. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a value (as a JSON number). + The value to be written as a JSON number. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes the UTF-8 property name (as a JSON string) as the first part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The specified property name is too large. + Validation is enabled, and this write operation would produce invalid JSON. + + + Writes the property name (as a JSON string) as the first part of a name/value pair of a JSON object. + The property name of the JSON object to be transcoded and written as UTF-8. + The specified property name is too large. + Validation is enabled, and this write operation would produce invalid JSON. + + + Writes the property name (as a JSON string) as the first part of a name/value pair of a JSON object. + The property name of the JSON object to be transcoded and written as UTF-8. + The specified property name is too large. + Validation is enabled, and this write operation would produce invalid JSON. + + is . + + + Writes the pre-encoded property name (as a JSON string) as the first part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + Validation is enabled, and this write operation would produce invalid JSON. + + + Writes the input as JSON content. It is expected that the input content is a single complete JSON value. + The raw JSON content to write. + + to validate if the input is an RFC 8259-compliant JSON payload; to skip validation. + The length of the input is zero or equal to Int32.MaxValue. + + is , and the input + is not a valid, complete, single JSON value according to the JSON RFC + or the input JSON exceeds a recursive depth of 64. + + + Writes the input as JSON content. It is expected that the input content is a single complete JSON value. + The raw JSON content to write. + + to validate if the input is an RFC 8259-compliant JSON payload; otherwise. + The length of the input is zero or equal to Int32.MaxValue. + + is , and the input is not a valid, complete, single JSON value according to the JSON RFC, or the input JSON exceeds a recursive depth of 64. + + + Writes the input as JSON content. It is expected that the input content is a single complete JSON value. + The raw JSON content to write. + + to validate if the input is an RFC 8259-compliant JSON payload; otherwise. + The length of the input is zero or greater than 715,827,882 (Int32.MaxValue / 3). + + is , and the input is not a valid, complete, single JSON value according to the JSON RFC, or the input JSON exceeds a recursive depth of 64. + + + Writes the input as JSON content. It is expected that the input content is a single complete JSON value. + The raw JSON content to write. + + to validate if the input is an RFC 8259-compliant JSON payload; otherwise. + + is . + The length of the input is zero or greater than 715,827,882 (Int32.MaxValue / 3). + + is , and the input is not a valid, complete, single JSON value according to the JSON RFC, or the input JSON exceeds a recursive depth of 64. + + + Writes the beginning of a JSON array. + The depth of the JSON exceeds the maximum depth of 1,000. + +-or- + +Validation is enabled, and this write operation would produce invalid JSON. + + + Writes the beginning of a JSON array with a property name specified as a read-only span of bytes as the key. + The UTF-8 encoded property name of the JSON array to be written. + The specified property name is too large. + The depth of the JSON exceeds the maximum depth of 1,000. + +-or- + +Validation is enabled, and this write operation would produce invalid JSON. + + + Writes the beginning of a JSON array with a property name specified as a read-only character span as the key. + The UTF-16 encoded property name of the JSON array to be transcoded and written as UTF-8. + The specified property name is too large. + The depth of the JSON exceeds the maximum depth of 1,000. + +-or- + +Validation is enabled, and this write operation would produce invalid JSON. + + + Writes the beginning of a JSON array with a property name specified as a string as the key. + The UTF-16 encoded property name of the JSON array to be transcoded and written as UTF-8. + The specified property name is too large. + The depth of the JSON exceeds the maximum depth of 1,000. + +-or- + +Validation is enabled, and this write operation would produce invalid JSON. + The parameter is . + + + Writes the beginning of a JSON array with a pre-encoded property name as the key. + The JSON encoded property name of the JSON array to be transcoded and written as UTF-8. + The depth of the JSON has exceeded the maximum depth of 1,000. + +-or- + +Validation is enabled, and this method would result in writing invalid JSON. + + + Writes the beginning of a JSON object. + The depth of the JSON exceeds the maximum depth of 1,000. + +-or- + +Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes the beginning of a JSON object with a property name specified as a read-only span of bytes as the key. + The UTF-8 encoded property name of the JSON object to be written. + The specified property name is too large. + The depth of the JSON exceeds the maximum depth of 1,000. + +-or- + +Validation is enabled, and this write operation would produce invalid JSON. + + + Writes the beginning of a JSON object with a property name specified as a read-only character span as the key. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The specified property name is too large. + The depth of the JSON exceeds the maximum depth of 1,000. + +-or- + +Validation is enabled, and this write operation would produce invalid JSON. + + + Writes the beginning of a JSON object with a property name specified as a string as the key. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The specified property name is too large. + The depth of the JSON exceeds the maximum depth of 1,000. + +-or- + +Validation is enabled, and this write operation would produce invalid JSON. + The parameter is . + + + Writes the beginning of a JSON object with a pre-encoded property name as the key. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The depth of the JSON has exceeded the maximum depth of 1,000. + +-or- + +Validation is enabled, and this method would result in writing invalid JSON. + + + Writes a UTF-8 property name and a value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a UTF-8 property name and a value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a UTF-8 property name and a value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The value to be written as a JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a UTF-8 property name and UTF-8 text value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The UTF-8 encoded value to be written as a JSON string as part of the name/value pair. + The specified property name or value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a UTF-8 property name and UTF-16 text value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified property name or value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a UTF-8 property name and string text value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified property name or value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes the UTF-8 property name and pre-encoded value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-8 encoded property name of the JSON object to be written. + The JSON encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and this method would result in writing invalid JSON. + + + Writes a property name specified as a read-only character span and a value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and a value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a read-only character span and a value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a UTF-16 property name and UTF-8 text value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The UTF-8 encoded value to be written as a JSON string as part of the name/value pair. + The specified property name or value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a UTF-16 property name and UTF-16 text value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified property name or value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a UTF-16 property name and string text value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified property name or value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes the property name and pre-encoded value (as a JSON string) as part of a name/value pair of a JSON object. + The property name of the JSON object to be transcoded and written as UTF-8. + The JSON encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a property name specified as a string and a value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and a value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and a value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and a UTF-8 text value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The UTF-8 encoded value to be written as a JSON string as part of the name/value pair. + The specified property name or value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and a UTF-16 text value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified property name or value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes a property name specified as a string and a string text value (as a JSON string) as part of a name/value pair of a JSON object. + The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8. + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified property name or value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes the property name and pre-encoded value (as a JSON string) as part of a name/value pair of a JSON object. + The property name of the JSON object to be transcoded and written as UTF-8. + The JSON encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified property name is too large. + Validation is enabled, and the write operation would produce invalid JSON. + The parameter is . + + + Writes the pre-encoded property name and value (as a JSON string) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON string as part of the name/value pair. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes the pre-encoded property name and value (as a JSON string) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON string as part of the name/value pair. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes the pre-encoded property name and value (as a JSON string) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a JSON string as part of the name/value pair. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes the pre-encoded property name and UTF-8 text value (as a JSON string) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The UTF-8 encoded value to be written as a JSON string as part of the name/value pair. + The specified value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes the pre-encoded property name and text value (as a JSON string) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes the pre-encoded property name and string text value (as a JSON string) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + The specified value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes the pre-encoded property name and pre-encoded value (as a JSON string) as part of a name/value pair of a JSON object. + The JSON encoded property name of the JSON object to be transcoded and written as UTF-8. + The JSON encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a value (as a JSON string). + The value to be written as a JSON string. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a value (as a JSON string). + The value to be written as a JSON string. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a value (as a JSON string). + The value to be written as a JSON string. + Validation is enabled, and the operation would result in writing invalid JSON. + + + Writes a UTF-8 text value (as a JSON string). + The UTF-8 encoded value to be written as a JSON string. + The specified value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a UTF-16 text value (as a JSON string). + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string. + The specified value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes a string text value (as a JSON string). + The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string. + The specified value is too large. + Validation is enabled, and the write operation would produce invalid JSON. + + + Writes the pre-encoded text value (as a JSON string). + The JSON encoded value to be written as a UTF-8 transcoded JSON string. + Validation is enabled, and the write operation would produce invalid JSON. + + + + + + + + + + + Gets the total number of bytes committed to the output by the current instance so far. + The total number of bytes committed to the output by the so far. + + + Gets the number of bytes written by the so far that have not yet been flushed to the output and committed. + The number of bytes written so far by the that have not yet been flushed to the output and committed. + + + Gets the depth of the current token. + The depth of the current token. + + + Gets the custom behavior when writing JSON using this instance, which indicates whether to format the output while writing, whether to skip structural JSON validation, and which characters to escape. + The custom behavior of this instance of the writer for formatting, validating, and escaping. + + + \ No newline at end of file diff --git a/bin/Debug/System.Threading.Tasks.Extensions.dll b/bin/Debug/System.Threading.Tasks.Extensions.dll new file mode 100644 index 0000000..cdb207e Binary files /dev/null and b/bin/Debug/System.Threading.Tasks.Extensions.dll differ diff --git a/bin/Debug/System.Threading.Tasks.Extensions.xml b/bin/Debug/System.Threading.Tasks.Extensions.xml new file mode 100644 index 0000000..7a908d7 --- /dev/null +++ b/bin/Debug/System.Threading.Tasks.Extensions.xml @@ -0,0 +1,545 @@ + + + + System.Threading.Tasks.Extensions + + + + + Indicates the type of the async method builder that should be used by a language compiler to + build the attributed type when used as the return type of an async method. + + + + Initializes the . + The of the associated builder. + + + Gets the of the associated builder. + + + Represents a builder for asynchronous methods that return a . + + + The to which most operations are delegated. + + + true if completed synchronously and successfully; otherwise, false. + + + true if the builder should be used for setting/getting the result; otherwise, false. + + + Creates an instance of the struct. + The initialized instance. + + + Begins running the builder with the associated state machine. + The type of the state machine. + The state machine instance, passed by reference. + + + Associates the builder with the specified state machine. + The state machine instance to associate with the builder. + + + Marks the task as successfully completed. + + + Marks the task as failed and binds the specified exception to the task. + The exception to bind to the task. + + + Gets the task for this builder. + + + Schedules the state machine to proceed to the next action when the specified awaiter completes. + The type of the awaiter. + The type of the state machine. + The awaiter. + The state machine. + + + Schedules the state machine to proceed to the next action when the specified awaiter completes. + The type of the awaiter. + The type of the state machine. + The awaiter. + The state machine. + + + Represents a builder for asynchronous methods that returns a . + The type of the result. + + + The to which most operations are delegated. + + + The result for this builder, if it's completed before any awaits occur. + + + true if contains the synchronous result for the async method; otherwise, false. + + + true if the builder should be used for setting/getting the result; otherwise, false. + + + Creates an instance of the struct. + The initialized instance. + + + Begins running the builder with the associated state machine. + The type of the state machine. + The state machine instance, passed by reference. + + + Associates the builder with the specified state machine. + The state machine instance to associate with the builder. + + + Marks the task as successfully completed. + The result to use to complete the task. + + + Marks the task as failed and binds the specified exception to the task. + The exception to bind to the task. + + + Gets the task for this builder. + + + Schedules the state machine to proceed to the next action when the specified awaiter completes. + The type of the awaiter. + The type of the state machine. + the awaiter + The state machine. + + + Schedules the state machine to proceed to the next action when the specified awaiter completes. + The type of the awaiter. + The type of the state machine. + the awaiter + The state machine. + + + Provides an awaitable type that enables configured awaits on a . + + + The wrapped . + + + Initializes the awaitable. + The wrapped . + + + Returns an awaiter for this instance. + + + Provides an awaiter for a . + + + The value being awaited. + + + Initializes the awaiter. + The value to be awaited. + + + Gets whether the has completed. + + + Gets the result of the ValueTask. + + + Schedules the continuation action for the . + + + Schedules the continuation action for the . + + + Provides an awaitable type that enables configured awaits on a . + The type of the result produced. + + + The wrapped . + + + Initializes the awaitable. + The wrapped . + + + Returns an awaiter for this instance. + + + Provides an awaiter for a . + + + The value being awaited. + + + Initializes the awaiter. + The value to be awaited. + + + Gets whether the has completed. + + + Gets the result of the ValueTask. + + + Schedules the continuation action for the . + + + Schedules the continuation action for the . + + + Provides an awaiter for a . + + + Shim used to invoke an passed as the state argument to a . + + + The value being awaited. + + + Initializes the awaiter. + The value to be awaited. + + + Gets whether the has completed. + + + Gets the result of the ValueTask. + + + Schedules the continuation action for this ValueTask. + + + Schedules the continuation action for this ValueTask. + + + Provides an awaiter for a . + + + The value being awaited. + + + Initializes the awaiter. + The value to be awaited. + + + Gets whether the has completed. + + + Gets the result of the ValueTask. + + + Schedules the continuation action for this ValueTask. + + + Schedules the continuation action for this ValueTask. + + + + Flags passed from and to + and + to control behavior. + + + + + No requirements are placed on how the continuation is invoked. + + + + + Set if OnCompleted should capture the current scheduling context (e.g. SynchronizationContext) + and use it when queueing the continuation for execution. If this is not set, the implementation + may choose to execute the continuation in an arbitrary location. + + + + + Set if OnCompleted should capture the current ExecutionContext and use it to run the continuation. + + + + Indicates the status of an or . + + + The operation has not yet completed. + + + The operation completed successfully. + + + The operation completed with an error. + + + The operation completed due to cancellation. + + + Represents an object that can be wrapped by a . + + + Gets the status of the current operation. + Opaque value that was provided to the 's constructor. + + + Schedules the continuation action for this . + The continuation to invoke when the operation has completed. + The state object to pass to when it's invoked. + Opaque value that was provided to the 's constructor. + The flags describing the behavior of the continuation. + + + Gets the result of the . + Opaque value that was provided to the 's constructor. + + + Represents an object that can be wrapped by a . + Specifies the type of data returned from the object. + + + Gets the status of the current operation. + Opaque value that was provided to the 's constructor. + + + Schedules the continuation action for this . + The continuation to invoke when the operation has completed. + The state object to pass to when it's invoked. + Opaque value that was provided to the 's constructor. + The flags describing the behavior of the continuation. + + + Gets the result of the . + Opaque value that was provided to the 's constructor. + + + Provides an awaitable result of an asynchronous operation. + + s are meant to be directly awaited. To do more complicated operations with them, a + should be extracted using . Such operations might include caching an instance to be awaited later, + registering multiple continuations with a single operation, awaiting the same task multiple times, and using combinators over + multiple operations. + + + + A task canceled using `new CancellationToken(true)`. + + + A successfully completed task. + + + null if representing a successful synchronous completion, otherwise a or a . + + + Opaque value passed through to the . + + + true to continue on the capture context; otherwise, true. + Stored in the rather than in the configured awaiter to utilize otherwise padding space. + + + Initialize the with a that represents the operation. + The task. + + + Initialize the with a object that represents the operation. + The source. + Opaque value passed through to the . + + + Returns the hash code for this instance. + + + Returns a value indicating whether this value is equal to a specified . + + + Returns a value indicating whether this value is equal to a specified value. + + + Returns a value indicating whether two values are equal. + + + Returns a value indicating whether two values are not equal. + + + + Gets a object to represent this ValueTask. + + + It will either return the wrapped task object if one exists, or it'll + manufacture a new task object to represent the result. + + + + Gets a that may be used at any point in the future. + + + Creates a to represent the . + + The is passed in rather than reading and casting + so that the caller can pass in an object it's already validated. + + + + Type used to create a to represent a . + + + The associated . + + + The token to pass through to operations on + + + Gets whether the represents a completed operation. + + + Gets whether the represents a successfully completed operation. + + + Gets whether the represents a failed operation. + + + Gets whether the represents a canceled operation. + + If the is backed by a result or by a , + this will always return false. If it's backed by a , it'll return the + value of the task's property. + + + + Throws the exception that caused the to fail. If it completed successfully, nothing is thrown. + + + Gets an awaiter for this . + + + Configures an awaiter for this . + + true to attempt to marshal the continuation back to the captured context; otherwise, false. + + + + Provides a value type that can represent a synchronously available value or a task object. + Specifies the type of the result. + + s are meant to be directly awaited. To do more complicated operations with them, a + should be extracted using or . Such operations might include caching an instance to + be awaited later, registering multiple continuations with a single operation, awaiting the same task multiple times, and using + combinators over multiple operations. + + + + A task canceled using `new CancellationToken(true)`. Lazily created only when first needed. + + + null if has the result, otherwise a or a . + + + The result to be used if the operation completed successfully synchronously. + + + Opaque value passed through to the . + + + true to continue on the captured context; otherwise, false. + Stored in the rather than in the configured awaiter to utilize otherwise padding space. + + + Initialize the with a result value. + The result. + + + Initialize the with a that represents the operation. + The task. + + + Initialize the with a object that represents the operation. + The source. + Opaque value passed through to the . + + + Non-verified initialization of the struct to the specified values. + The object. + The result. + The token. + true to continue on captured context; otherwise, false. + + + Returns the hash code for this instance. + + + Returns a value indicating whether this value is equal to a specified . + + + Returns a value indicating whether this value is equal to a specified value. + + + Returns a value indicating whether two values are equal. + + + Returns a value indicating whether two values are not equal. + + + + Gets a object to represent this ValueTask. + + + It will either return the wrapped task object if one exists, or it'll + manufacture a new task object to represent the result. + + + + Gets a that may be used at any point in the future. + + + Creates a to represent the . + + The is passed in rather than reading and casting + so that the caller can pass in an object it's already validated. + + + + Type used to create a to represent a . + + + The associated . + + + The token to pass through to operations on + + + Gets whether the represents a completed operation. + + + Gets whether the represents a successfully completed operation. + + + Gets whether the represents a failed operation. + + + Gets whether the represents a canceled operation. + + If the is backed by a result or by a , + this will always return false. If it's backed by a , it'll return the + value of the task's property. + + + + Gets the result. + + + Gets an awaiter for this . + + + Configures an awaiter for this . + + true to attempt to marshal the continuation back to the captured context; otherwise, false. + + + + Gets a string-representation of this . + + + diff --git a/bin/Debug/TStudyDigitalPen.AP.dll b/bin/Debug/TStudyDigitalPen.AP.dll new file mode 100644 index 0000000..c182370 Binary files /dev/null and b/bin/Debug/TStudyDigitalPen.AP.dll differ diff --git a/bin/Debug/TStudyDigitalPen.AP.xml b/bin/Debug/TStudyDigitalPen.AP.xml new file mode 100644 index 0000000..528dfe8 --- /dev/null +++ b/bin/Debug/TStudyDigitalPen.AP.xml @@ -0,0 +1,964 @@ + + + + TStudyDigitalPen.AP + + + + + 蓝牙断连状态码 + + + + + 长按 + + + + + 触发复位 + + + + + USB 拔出 + + + + + 电量过低 + + + + + 指令或app 主动关机触发 + + + + + 超时触发 + + + + + 补 + + + + + 笔连接delegate + + 时间戳,1970年1月1日到现在的总毫秒数 + 点阵笔序列号 + 点阵笔型号编号 + + + + 笔断开delegate + + 时间戳,1970年1月1日到现在的总毫秒数 + 点阵笔序列号 + 点阵笔型号编号 + + + + 抬笔delegate + + 时间戳,1970年1月1日到现在的总毫秒数 + 点阵笔序列号 + 点阵笔型号编号 + + + + 落笔delegate + + 时间戳,1970年1月1日到现在的总毫秒数 + 点阵笔序列号 + 点阵笔型号编号 + + + + 笔书写,收到坐标delegate + + 时间戳,1970年1月1日到现在的总毫秒数 + 点阵笔序列号 + 点阵笔型号编号 + 点阵地址 + x坐标 + y坐标 + 压力值 + + + + 笔信息delegate + + 时间戳,1970年1月1日到现在的总毫秒数 + 点阵笔序列号 + 点阵笔型号编号 + 点阵笔MAC + 剩余电量百分比 + 剩余存储空间百分比 + 以使用存储空间(字节数) + HW + sw + + + + 笔实时时钟事件(时间戳) + + 时间戳,1970年1月1日到现在的总毫秒数 + 点阵笔序列号 + 点阵笔型号编号 + 笔实时时钟时间戳,1970年1月1日到现在的总毫秒数 + + + + 蓝牙断连原因事件回调函数类型 + + 点阵笔序列号 + 蓝牙断连事件返回 + + + + 设置笔名字结果事件回调函数类型 + + 点阵笔序列号 + 设置笔名字返回 + + + + 获取笔名字事件回调函数类型 + + 点阵笔序列号 + 获取笔名字事件返回 + + + + 设置指示灯结果事件回调函数类型 + + 点阵笔序列号 + 设置指示灯事件返回 + + + + 设置指示灯临时状态结果事件回调函数类型 + + 点阵笔序列号 + 设置指示灯临时状态事件返回 + + + + 获取指示灯结果事件回调函数类型 + + 点阵笔序列号 + 获取指示灯事件返回 + + + + 设置蜂鸣器结果事件回调函数类型 + + 点阵笔序列号 + 设置蜂鸣器结果事件返回 + + + + 设置笔超时关机时间结果事件回调函数类型 + + 点阵笔序列号 + 设置笔超时关机时间事件返回 + + + + 获取笔超时关机时间事件回调函数类型 + + 点阵笔序列号 + 获取笔超时关机时间事件返回 + + + + 获取笔迹分布事件回调函数类型 + + 点阵笔序列号 + 获取笔迹分布事件返回 + + + + 电量上报事件回调函数类型 + + 点阵笔序列号 + 电量上报事件返回 + + + + 书写事件,收到坐标 + + + + + 落笔事件 + + + + + 抬笔事件 + + + + + 笔连接事件 + + + + + 笔断开事件 + + + + + 笔信息事件,笔连接后触发 + + + + + 笔RTC实时时钟事件 + + + + + 蓝牙断连原因事件 + + + + + 设置笔名字结果事件 + + + + + 获取笔名字事件 + + + + + 设置指示灯结果事件 + + + + + 设置指示灯临时状态结果事件 + + + + + 获取指示灯结果事件 + + + + + 设置蜂鸣器结果事件 + + + + + 设置笔超时关机时间结果事件 + + + + + 获取笔超时关机时间事件 + + + + + 获取笔迹分布事件 + + + + + 电量上报事件 + + + + + 获取SDK实例 + + 授权文件内容 + DigitalPenAP实例 + + + + 初始化点阵笔SDK + + 详见ERROR_CODE返回值含义 + + + + 停止接收点阵笔数据,与start函数成对调用;程序退出前调用 + + + + + 清除笔内存储内容,在不需要笔内离线数据时,可在笔连接成功后,调用此函数 + + 笔序列号 + + + + 获取笔信息 + + 序列号 + + + + 开始获取笔数据,一般在笔连接成功事件中,或笔信息事件中调用,开始接收点阵笔事件数据;若需要清空笔内数据,请先清空数据再调用此函数 + + 点阵笔序列号 + + + + 获取笔的RTC实时时钟时间(笔时间戳) + + + + + + 设置笔的RTC实时时钟时间(笔时间戳) + + + + + + + 设置读取的数据模式 + + + 0:存储,1:实时,2:传离线数据,3:只传实时数据,4:悬浮 + + + + 设置笔名 + + 笔序列号 + 想要设为的笔名 + + + + 获取笔名 + + 笔序列号 + + + + 设置指示灯 + + 笔序列号 + 想要设为的指示灯信息 + + + + 设置临时指示灯 + + 笔序列号 + 想要设为的临时指示灯信息 + + + + 获取指示灯信息 + + 笔序列号 + + + + 设置蜂鸣器 + + 笔序列号 + 想要设为的设置蜂鸣器鸣叫信息 + + + + 设置定时关机时间(单位为分钟) + + 笔序列号 + 分钟数 + + + + 获取定时关机时间(单位为分钟) + + 笔序列号 + + + + 获取笔迹分布时间 + + 笔序列号 + 想要获取的笔迹分布信息 + 存放获取到信息的指针 + + + + SDK初始化返回值 + + + + + 成功 + + + + + 初始化错误 + + + + + 没有找到TstudyDigitalPenLic.dll + + + + + SDK授权校验失败 + + + + + 启动了两个或以上的SDK程序 + + + + + 授权类型不匹配,使用了错误类型的授权文件 + + + + + 未到授权开始时间【该值已经废除,请忽略】 + + + + + 授权时间已过期【该值已经废除,请忽略】 + + + + + 未知错误 + + + + + 获取笔迹分布状态返回码 + + + + + 获取成功 + + + + + 远端故障 + + + + + 笔无响应 + + + + + 获取笔灯状态码 + + + + + 获取成功 + + + + + 远端故障 + + + + + 笔无响应 + + + + + 获取笔名返回状态 + + + + + 获取成功 + + + + + 获取超时时间状态码 + + + + + 获取成功 + + + + + 存放信息的指针 + + + + + 总共记录的数据项个数, 小于HDWRDIST_LIST_MAX_CNT + + + + + 持续天数 + + + + + 每30分钟产生一条list,每天48条,预留10天,即10*48=480条 + + + + + 起始时间戳(相对于2018年,单位:秒) + + + + + 笔迹事件个数 + + + + + 笔迹分布信息 + + + + + 是否获取全部数据,true:获取全部数据,后面参数忽略;false:获取指定; + + + + + 起始时间:rtc(相对于1970年偏移的秒数) + + + + + 持续天数 + + + + + 灯数据 + + + + + 灯类型 + + + + + 灯状态 + + + + + 灯状态 + + + + + 蓝灯常亮 + + + + + 蓝灯闪烁 + + + + + 绿灯常亮 + + + + + 绿灯闪烁 + + + + + 红灯常亮 + + + + + 红灯闪烁 + + + + + 黄灯常亮 + + + + + 黄灯闪烁 + + + + + 粉红灯常亮 + + + + + 粉红灯闪烁 + + + + + 浅蓝灯常亮 + + + + + 浅蓝灯闪烁 + + + + + 白灯常亮 + + + + + 白灯闪烁 + + + + + 灯临时数据 + + + + + 灯类型 + + + + + 灯状态 + + + + + 用于启动或停止状态,false:停止,后续参数无效;true:开始,需要设置后续参数 + + + + + 是否持续,false:不持续,需要配置时间参数; true:持续,时间参数无效;注意:is_enable为true有效 + + + + + 持续时间:取值范围1-254,单位:秒,注意:is_enable为true且is_contd为false时有效 + + + + + 灯类型 + + + + + 上电默认状态 + + + + + 蓝牙连接状态 + + + + + 低电量警告状态 + + + + + 充电状态 + + + + + 存储满状态 + + + + + 存储满状态 + + + + + 设置蜂鸣器状态码 + + + + + 设置成功 + + + + + 频率参数错误 + + + + + 蜂鸣器鸣叫时长参数错误 + + + + + 频率、蜂鸣器鸣叫时长参数错误 + + + + + 该设备不支持蜂鸣器功能 + + + + + 设置笔灯状态码 + + + + + 配置成功 + + + + + 配置内容包含不支持的指示类型 + + + + + 配置内容包含不支持的指示灯状态 + + + + + 配置错误(如参数写入出错等) + + + + + 切换失败,当前状态非期望状态 + + + + + 设置笔名返回状态 + + + + + 设置成功 + + + + + 设置失败 + + + + + 设置超时时间状态码 + + + + + 设置成功 + + + + + 设置失败 + + + + + 非法设置值 + + + + + 电量更新事件 + + + + + 当前电量百分值 + + + + + 蜂鸣器设置 + + + + + 开关:(0:关闭蜂鸣器,1:打开蜂鸣器) + + + + + 蜂鸣器鸣叫频率(Hz 范围:101-10000) + + + + + 蜂鸣器鸣叫时间(单位:ms 范围:11-1000) + + + + + 蜂鸣器鸣响间隔(单位:ms 范围:200 - 1600) + + + + + 单次鸣响次数,仅配置单次有效时生效:(1-8) + + + + + 参数有效期:(0:持续有效,1:单次有效) + + + + + 蓝牙断连事件类型 + + + + + 蓝牙断连状态码 + + + + + 获取笔迹分布状态 + + + + + 获取笔迹分布状态返回码 + + + + + 笔迹事件个数 + + + + + 获取笔灯的状态 + + + + + 获取笔灯状态码 + + + + + 笔灯状态列表 + + + + + 获取笔的名字 + + + + + 返回状态码 + + + + + 笔名 + + + + + 获取超时时间 + + + + + 获取超时时间状态码 + + + + + 起始时间戳(相对于2018年,单位:秒) + + + + + 设置蜂鸣器响应消息 + + + + + 设置蜂鸣器状态码 + + + + + 设置笔灯的状态 + + + + + 设置笔灯状态码 + + + + + 设置笔的名字 + + + + + 返回状态码 + + + + + 设置超时时间 + + + + + 设置超时时间状态码 + + + + diff --git a/bin/Debug/TStudyDigitalPenAP.dll b/bin/Debug/TStudyDigitalPenAP.dll new file mode 100644 index 0000000..66d59bd Binary files /dev/null and b/bin/Debug/TStudyDigitalPenAP.dll differ diff --git a/bin/Debug/TStudyDigitalPenLic.dll b/bin/Debug/TStudyDigitalPenLic.dll new file mode 100644 index 0000000..a4a7391 Binary files /dev/null and b/bin/Debug/TStudyDigitalPenLic.dll differ diff --git a/bin/Debug/TStudyDigitalPenLic.zip b/bin/Debug/TStudyDigitalPenLic.zip new file mode 100644 index 0000000..96b2f51 Binary files /dev/null and b/bin/Debug/TStudyDigitalPenLic.zip differ diff --git a/bin/Debug/WindowsFormsApp.exe b/bin/Debug/WindowsFormsApp.exe new file mode 100644 index 0000000..3b7c1f7 Binary files /dev/null and b/bin/Debug/WindowsFormsApp.exe differ diff --git a/bin/Debug/WindowsFormsApp.exe.config b/bin/Debug/WindowsFormsApp.exe.config new file mode 100644 index 0000000..6dd81eb --- /dev/null +++ b/bin/Debug/WindowsFormsApp.exe.config @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/bin/Debug/WindowsFormsApp.pdb b/bin/Debug/WindowsFormsApp.pdb new file mode 100644 index 0000000..91f6de3 Binary files /dev/null and b/bin/Debug/WindowsFormsApp.pdb differ diff --git a/bin/Debug/bbb/TStudyDigitalPen.AP.dll b/bin/Debug/bbb/TStudyDigitalPen.AP.dll new file mode 100644 index 0000000..bd4de51 Binary files /dev/null and b/bin/Debug/bbb/TStudyDigitalPen.AP.dll differ diff --git a/bin/Debug/bbb/TStudyDigitalPenAP.dll b/bin/Debug/bbb/TStudyDigitalPenAP.dll new file mode 100644 index 0000000..66d59bd Binary files /dev/null and b/bin/Debug/bbb/TStudyDigitalPenAP.dll differ diff --git a/bin/Debug/roomconfig.xml b/bin/Debug/roomconfig.xml new file mode 100644 index 0000000..6081c16 --- /dev/null +++ b/bin/Debug/roomconfig.xml @@ -0,0 +1,7 @@ + + + + 673542227816517 + http://192.168.20.150:8080 + + \ No newline at end of file diff --git a/obj/x86/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.cs b/obj/x86/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.cs new file mode 100644 index 0000000..5d01041 --- /dev/null +++ b/obj/x86/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")] diff --git a/obj/x86/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs b/obj/x86/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs new file mode 100644 index 0000000..15efebf --- /dev/null +++ b/obj/x86/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] diff --git a/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache b/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..e21ce80 Binary files /dev/null and b/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..b46605c Binary files /dev/null and b/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/obj/x86/Debug/Interact.1C3F66A0.Up2Date b/obj/x86/Debug/Interact.1C3F66A0.Up2Date new file mode 100644 index 0000000..e69de29 diff --git a/obj/x86/Debug/Interaction_DigitalPenAP_Csharp_form_demo.csproj.AssemblyReference.cache b/obj/x86/Debug/Interaction_DigitalPenAP_Csharp_form_demo.csproj.AssemblyReference.cache new file mode 100644 index 0000000..af84f87 Binary files /dev/null and b/obj/x86/Debug/Interaction_DigitalPenAP_Csharp_form_demo.csproj.AssemblyReference.cache differ diff --git a/obj/x86/Debug/Interaction_DigitalPenAP_Csharp_form_demo.csproj.CoreCompileInputs.cache b/obj/x86/Debug/Interaction_DigitalPenAP_Csharp_form_demo.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..0ec7597 --- /dev/null +++ b/obj/x86/Debug/Interaction_DigitalPenAP_Csharp_form_demo.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +fe4507efffa991a223aa4b00f56223e928a22ad38ba4bdb32bfe7b4707e8e9d8 diff --git a/obj/x86/Debug/Interaction_DigitalPenAP_Csharp_form_demo.csproj.FileListAbsolute.txt b/obj/x86/Debug/Interaction_DigitalPenAP_Csharp_form_demo.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..140ca3b --- /dev/null +++ b/obj/x86/Debug/Interaction_DigitalPenAP_Csharp_form_demo.csproj.FileListAbsolute.txt @@ -0,0 +1,38 @@ +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\WindowsFormsApp.exe.config +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\WindowsFormsApp.exe +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\WindowsFormsApp.pdb +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\Dapper.dll +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\Fleck.dll +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\Microsoft.Bcl.AsyncInterfaces.dll +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\Newtonsoft.Json.dll +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\System.Buffers.dll +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\System.IO.Pipelines.dll +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\System.Memory.dll +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\System.Numerics.Vectors.dll +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\System.Text.Encodings.Web.dll +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\System.Text.Json.dll +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\System.Threading.Tasks.Extensions.dll +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\TStudyDigitalPen.AP.dll +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\Dapper.xml +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\Microsoft.Bcl.AsyncInterfaces.xml +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\Newtonsoft.Json.xml +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\System.Buffers.xml +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\System.IO.Pipelines.xml +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\System.Memory.xml +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\System.Numerics.Vectors.xml +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\System.Runtime.CompilerServices.Unsafe.xml +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\System.Text.Encodings.Web.xml +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\System.Text.Json.xml +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\System.Threading.Tasks.Extensions.xml +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\bin\Debug\TStudyDigitalPen.AP.xml +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\obj\x86\Debug\Interaction_DigitalPenAP_Csharp_form_demo.csproj.AssemblyReference.cache +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\obj\x86\Debug\WindowsFormsApp.Form1.resources +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\obj\x86\Debug\WindowsFormsApp.FrmSetPenName.resources +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\obj\x86\Debug\WindowsFormsApp.PenDraw.resources +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\obj\x86\Debug\WindowsFormsApp.Properties.Resources.resources +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\obj\x86\Debug\Interaction_DigitalPenAP_Csharp_form_demo.csproj.GenerateResource.cache +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\obj\x86\Debug\Interaction_DigitalPenAP_Csharp_form_demo.csproj.CoreCompileInputs.cache +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\obj\x86\Debug\Interact.1C3F66A0.Up2Date +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\obj\x86\Debug\WindowsFormsApp.exe +D:\tstudy_digital_pen_sdk_for_ap_1.7.5(2)\tstudy_digital_pen_sdk_for_ap_1.7.5\LiteVersionSDK\examples\interaction\Interaction_DigitalPenAP_Csharp_form_demo\obj\x86\Debug\WindowsFormsApp.pdb diff --git a/obj/x86/Debug/Interaction_DigitalPenAP_Csharp_form_demo.csproj.GenerateResource.cache b/obj/x86/Debug/Interaction_DigitalPenAP_Csharp_form_demo.csproj.GenerateResource.cache new file mode 100644 index 0000000..a3bbb90 Binary files /dev/null and b/obj/x86/Debug/Interaction_DigitalPenAP_Csharp_form_demo.csproj.GenerateResource.cache differ diff --git a/obj/x86/Debug/TempPE/Properties.Resources.Designer.cs.dll b/obj/x86/Debug/TempPE/Properties.Resources.Designer.cs.dll new file mode 100644 index 0000000..39de698 Binary files /dev/null and b/obj/x86/Debug/TempPE/Properties.Resources.Designer.cs.dll differ diff --git a/obj/x86/Debug/WindowsFormsApp.Form1.resources b/obj/x86/Debug/WindowsFormsApp.Form1.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/obj/x86/Debug/WindowsFormsApp.Form1.resources differ diff --git a/obj/x86/Debug/WindowsFormsApp.FrmSetPenName.resources b/obj/x86/Debug/WindowsFormsApp.FrmSetPenName.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/obj/x86/Debug/WindowsFormsApp.FrmSetPenName.resources differ diff --git a/obj/x86/Debug/WindowsFormsApp.PenDraw.resources b/obj/x86/Debug/WindowsFormsApp.PenDraw.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/obj/x86/Debug/WindowsFormsApp.PenDraw.resources differ diff --git a/obj/x86/Debug/WindowsFormsApp.Properties.Resources.resources b/obj/x86/Debug/WindowsFormsApp.Properties.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/obj/x86/Debug/WindowsFormsApp.Properties.Resources.resources differ diff --git a/obj/x86/Debug/WindowsFormsApp.exe b/obj/x86/Debug/WindowsFormsApp.exe new file mode 100644 index 0000000..3b7c1f7 Binary files /dev/null and b/obj/x86/Debug/WindowsFormsApp.exe differ diff --git a/obj/x86/Debug/WindowsFormsApp.pdb b/obj/x86/Debug/WindowsFormsApp.pdb new file mode 100644 index 0000000..91f6de3 Binary files /dev/null and b/obj/x86/Debug/WindowsFormsApp.pdb differ diff --git a/packages.config b/packages.config new file mode 100644 index 0000000..1084452 --- /dev/null +++ b/packages.config @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file