This commit is contained in:
2025-12-11 09:52:50 +08:00
commit a4cbc24e25
74 changed files with 33284 additions and 0 deletions

View File

@ -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":[]}

5
AppCode/Entity/MQ.cs Normal file
View File

@ -0,0 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

94
AppCode/Entity/PenData.cs Normal file
View File

@ -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> 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; }
}
/// 模板
/// </summary>
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; }
}

400
AppCode/SaveDataOperater.cs Normal file
View File

@ -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();
}
}
}
/// <summary>
/// 删除末班
/// </summary>
public static void DeleteTempListiInfo()
{
string sql = "DELETE TempListiInfo";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
connection.Execute(sql);
}
}
public static void AddTempListiInfo(List<TempListiInfoServer> 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<StudentPen> 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);
}
}
/// <summary>
/// 删除所有笔的表
/// </summary>
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<string>(sql).AsList())
{
isgo = true;
sb.Append(list);
}
if (isgo)
{
connection.Execute(sb.ToString());
}
}
}
public static List<PenStatus> GetAllPenStatus()
{
string sql = "SELECT PenNo as serialNo, Status as onlineStatus ,charge as power FRom PenStatus";
List<PenStatus> penStatusList = new List<PenStatus>();
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<int>(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 });
}
}
}
/// <summary>
/// 更改笔状态
/// </summary>
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<int>(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 });
}
}
}
/// <summary>
/// 新增笔的表
/// </summary>
/// <param name="tableName"></param>
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<ClassPenList> lt = new List<ClassPenList>();
ClassPenList cpl = new ClassPenList();
cpl.ClassId = ClassID;
Pens p = new Pens();
p.serialNo = tableName;
p.power = 0;
cpl.Pens = new List<Pens>();
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<ServerResult>(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();
}
}
}
/// <summary>
/// 检查表是否存在
/// </summary>
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;
}
}
}
/// <summary>
/// 创建笔的表
/// </summary>
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();
}
}
}
}

236
Form1.Designer.cs generated Normal file
View File

@ -0,0 +1,236 @@
namespace WindowsFormsApp
{
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
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;
}
}

799
Form1.cs Normal file
View File

@ -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<SR_Pen_coordinate> Penesult = new List<SR_Pen_coordinate>();
static List<string> penList = new List<string>();
static object obj = new object();
public static long ClassID=0;
public static string apiUrl = "";
//DigitalPenAP对象负责与点阵笔通信接收数据发送指令
//所有已连接笔的绘制窗口
Dictionary<string, PenDraw> AllPenDrawsDic = new Dictionary<string, PenDraw>();
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<SR_Pen_coordinate> 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表示不生成指定路径的log1表示生成
//该日志会记录笔迹数据长度最好是放大一些不要超出unsigned int示例一个文件最大10MB,最后参数标志该日志文件最多有n个log.*.txt所以最终最大可存储10MB * 11log.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<string> action = new Action<string>(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<IWebSocketConnection> _allSockets;
private bool _isRunning = false;
public void socketGo() {
_allSockets = new List<IWebSocketConnection>();
_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)
{
}
/// <summary>
/// 点阵笔上报电量
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private async void timer1_Tick(object sender, EventArgs e)
{
List<PenStatus> 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<ServerResult>(await response.Content.ReadAsStringAsync());
}
}
catch
{
}
}
/// <summary>
/// 获取用户列表数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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<ServerResult>(await response.Content.ReadAsStringAsync());
if (sr.success)
{
List<StudentPen> lt = JsonConvert.DeserializeObject<List<StudentPen>>(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<ServerResult>(await response.Content.ReadAsStringAsync());
if (sr.success)
{
List<TempListiInfoServer> lt = System.Text.Json.JsonSerializer.Deserialize<List<TempListiInfoServer>>(sr.data.ToString());
SaveDataOperater.DeleteTempListiInfo();
SaveDataOperater.AddTempListiInfo(lt);
}
}
}
catch
{
}
}
private void button1_Click(object sender, EventArgs e)
{
GetDataToServer();
}
}
}

129
Form1.resx Normal file
View File

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>181, 17</value>
</metadata>
<metadata name="timer2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>273, 17</value>
</metadata>
</root>

677
FrmSetPenName.Designer.cs generated Normal file
View File

@ -0,0 +1,677 @@

namespace WindowsFormsApp
{
partial class FrmSetPenName
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
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;
}
}

209
FrmSetPenName.cs Normal file
View File

@ -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<LED_STATE>();
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<LED_STATE>();
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; }
}
}

120
FrmSetPenName.resx Normal file
View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,166 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{256C41C1-8E46-43B2-9289-D50EBCAB51D5}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>WindowsFormsApp</RootNamespace>
<AssemblyName>WindowsFormsApp</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="Dapper, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Dapper.2.1.66\lib\net461\Dapper.dll</HintPath>
</Reference>
<Reference Include="Fleck, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Fleck.1.2.0\lib\net45\Fleck.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=10.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.10.0.0-rc.2.25502.107\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net40\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.6.1\lib\net462\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.Core" />
<Reference Include="System.IO.Pipelines, Version=10.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.10.0.0-rc.2.25502.107\lib\net462\System.IO.Pipelines.dll</HintPath>
</Reference>
<Reference Include="System.Memory, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.6.3\lib\net462\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http" />
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.6.1\lib\net462\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.2\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Text.Encodings.Web, Version=10.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encodings.Web.10.0.0-rc.2.25502.107\lib\net462\System.Text.Encodings.Web.dll</HintPath>
</Reference>
<Reference Include="System.Text.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Json.10.0.0-rc.2.25502.107\lib\net462\System.Text.Json.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.6.3\lib\net462\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="TStudyDigitalPen.AP, Version=2.2.0.0, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\bin\c_sharp\4.0\TStudyDigitalPen.AP.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AppCode\Entity\MQ.cs" />
<Compile Include="AppCode\Entity\PenData.cs" />
<Compile Include="AppCode\SaveDataOperater.cs" />
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="FrmSetPenName.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FrmSetPenName.Designer.cs">
<DependentUpon>FrmSetPenName.cs</DependentUpon>
</Compile>
<Compile Include="MyLicense.cs" />
<Compile Include="PenDraw.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="PenDraw.Designer.cs">
<DependentUpon>PenDraw.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="TransparentTabControl.cs">
<SubType>Component</SubType>
</Compile>
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FrmSetPenName.resx">
<DependentUpon>FrmSetPenName.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PenDraw.resx">
<DependentUpon>PenDraw.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="app.config" />
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<Folder Include="Resources\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>copy "..\..\..\..\..\bin\vc\TStudyDigitalPenLic.dll" "$(TargetDir)"
copy "..\..\..\..\..\bin\vc\TStudyDigitalPenAP.dll" "$(TargetDir)"</PostBuildEvent>
</PropertyGroup>
<Import Project="..\packages\System.ValueTuple.4.6.1\build\net471\System.ValueTuple.targets" Condition="Exists('..\packages\System.ValueTuple.4.6.1\build\net471\System.ValueTuple.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\System.ValueTuple.4.6.1\build\net471\System.ValueTuple.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.ValueTuple.4.6.1\build\net471\System.ValueTuple.targets'))" />
</Target>
</Project>

16
MyLicense.cs Normal file

File diff suppressed because one or more lines are too long

61
PenDraw.Designer.cs generated Normal file
View File

@ -0,0 +1,61 @@
namespace WindowsFormsApp
{
partial class PenDraw
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
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;
}
}

131
PenDraw.cs Normal file
View File

@ -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<Point> Stroke=new List<Point>();
//定义画布高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<ulong, string, int> action = new Action<ulong, string, int>(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<int, int> action = new Action<int, int>(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);
}
}
}
}

120
PenDraw.resx Normal file
View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

21
Program.cs Normal file
View File

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace WindowsFormsApp
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

View File

@ -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")]

63
Properties/Resources.Designer.cs generated Normal file
View File

@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace WindowsFormsApp.Properties {
using System;
/// <summary>
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 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() {
}
/// <summary>
/// 返回此类使用的缓存的 ResourceManager 实例。
/// </summary>
[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;
}
}
/// <summary>
/// 重写当前线程的 CurrentUICulture 属性,对
/// 使用此强类型资源类的所有资源查找执行重写。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}

122
Properties/Resources.resx Normal file
View File

@ -0,0 +1,122 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</root>

26
Properties/Settings.Designer.cs generated Normal file
View File

@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
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;
}
}
}
}

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

64
TransparentTabControl.cs Normal file
View File

@ -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<Panel> pages = new List<Panel>();
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;
}
}
}
}

16
app.config Normal file
View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" /></startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.4.0" newVersion="4.2.4.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

BIN
bin/Debug/Dapper.dll Normal file

Binary file not shown.

2918
bin/Debug/Dapper.xml Normal file

File diff suppressed because it is too large Load Diff

BIN
bin/Debug/Fleck.dll Normal file

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,420 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Bcl.AsyncInterfaces</name>
</assembly>
<members>
<member name="T:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1">
<summary>Provides the core logic for implementing a manual-reset <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/> or <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource`1"/>.</summary>
<typeparam name="TResult"></typeparam>
</member>
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._continuation">
<summary>
The callback to invoke when the operation completes if <see cref="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.OnCompleted(System.Action{System.Object},System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags)"/> was called before the operation completed,
or <see cref="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCoreShared.s_sentinel"/> 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.
</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._continuationState">
<summary>State to pass to <see cref="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._continuation"/>.</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._executionContext">
<summary><see cref="T:System.Threading.ExecutionContext"/> to flow to the callback, or null if no flowing is required.</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._capturedContext">
<summary>
A "captured" <see cref="T:System.Threading.SynchronizationContext"/> or <see cref="T:System.Threading.Tasks.TaskScheduler"/> with which to invoke the callback,
or null if no special context is required.
</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._completed">
<summary>Whether the current operation has completed.</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._result">
<summary>The result with which the operation succeeded, or the default value if it hasn't yet completed or failed.</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._error">
<summary>The exception with which the operation failed, or null if it hasn't yet completed or completed successfully.</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._version">
<summary>The current version of this value, used to help prevent misuse.</summary>
</member>
<member name="P:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.RunContinuationsAsynchronously">
<summary>Gets or sets whether to force continuations to run asynchronously.</summary>
<remarks>Continuations may run asynchronously if this is false, but they'll never run synchronously if this is true.</remarks>
</member>
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.Reset">
<summary>Resets to prepare for the next operation.</summary>
</member>
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.SetResult(`0)">
<summary>Completes with a successful result.</summary>
<param name="result">The result.</param>
</member>
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.SetException(System.Exception)">
<summary>Complets with an error.</summary>
<param name="error"></param>
</member>
<member name="P:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.Version">
<summary>Gets the operation version.</summary>
</member>
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.GetStatus(System.Int16)">
<summary>Gets the status of the operation.</summary>
<param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
</member>
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.GetResult(System.Int16)">
<summary>Gets the result of the operation.</summary>
<param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
</member>
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.OnCompleted(System.Action{System.Object},System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags)">
<summary>Schedules the continuation action for this operation.</summary>
<param name="continuation">The continuation to invoke when the operation has completed.</param>
<param name="state">The state object to pass to <paramref name="continuation"/> when it's invoked.</param>
<param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
<param name="flags">The flags describing the behavior of the continuation.</param>
</member>
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.ValidateToken(System.Int16)">
<summary>Ensures that the specified token matches the current version.</summary>
<param name="token">The token supplied by <see cref="T:System.Threading.Tasks.ValueTask"/>.</param>
</member>
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.SignalCompletion">
<summary>Signals that the operation has completed. Invoked after the result or error has been set.</summary>
</member>
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.InvokeContinuation">
<summary>
Invokes the continuation with the appropriate captured context / scheduler.
This assumes that if <see cref="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._executionContext"/> is not null we're already
running within that <see cref="T:System.Threading.ExecutionContext"/>.
</summary>
</member>
<member name="T:System.Threading.Tasks.TaskAsyncEnumerableExtensions">
<summary>Provides a set of static methods for configuring <see cref="T:System.Threading.Tasks.Task"/>-related behaviors on asynchronous enumerables and disposables.</summary>
</member>
<member name="M:System.Threading.Tasks.TaskAsyncEnumerableExtensions.ConfigureAwait(System.IAsyncDisposable,System.Boolean)">
<summary>Configures how awaits on the tasks returned from an async disposable will be performed.</summary>
<param name="source">The source async disposable.</param>
<param name="continueOnCapturedContext"><see langword="true" /> to capture and marshal back to the current context; otherwise, <see langword="false" />.</param>
<returns>The configured async disposable.</returns>
</member>
<member name="M:System.Threading.Tasks.TaskAsyncEnumerableExtensions.ConfigureAwait``1(System.Collections.Generic.IAsyncEnumerable{``0},System.Boolean)">
<summary>Configures how awaits on the tasks returned from an async iteration will be performed.</summary>
<typeparam name="T">The type of the objects being iterated.</typeparam>
<param name="source">The source enumerable being iterated.</param>
<param name="continueOnCapturedContext"><see langword="true" /> to capture and marshal back to the current context; otherwise, <see langword="false" />.</param>
<returns>The configured enumerable.</returns>
</member>
<member name="M:System.Threading.Tasks.TaskAsyncEnumerableExtensions.WithCancellation``1(System.Collections.Generic.IAsyncEnumerable{``0},System.Threading.CancellationToken)">
<summary>Sets the <see cref="T:System.Threading.CancellationToken"/> to be passed to <see cref="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)"/> when iterating.</summary>
<typeparam name="T">The type of the objects being iterated.</typeparam>
<param name="source">The source enumerable being iterated.</param>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to use.</param>
<returns>The configured enumerable.</returns>
</member>
<member name="T:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder">
<summary>Represents a builder for asynchronous iterators.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.Create">
<summary>Creates an instance of the <see cref="T:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder"/> struct.</summary>
<returns>The initialized instance.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.MoveNext``1(``0@)">
<summary>Invokes <see cref="M:System.Runtime.CompilerServices.IAsyncStateMachine.MoveNext"/> on the state machine while guarding the <see cref="T:System.Threading.ExecutionContext"/>.</summary>
<typeparam name="TStateMachine">The type of the state machine.</typeparam>
<param name="stateMachine">The state machine instance, passed by reference.</param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
<summary>Schedules the state machine to proceed to the next action when the specified awaiter completes.</summary>
<typeparam name="TAwaiter">The type of the awaiter.</typeparam>
<typeparam name="TStateMachine">The type of the state machine.</typeparam>
<param name="awaiter">The awaiter.</param>
<param name="stateMachine">The state machine.</param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
<summary>Schedules the state machine to proceed to the next action when the specified awaiter completes.</summary>
<typeparam name="TAwaiter">The type of the awaiter.</typeparam>
<typeparam name="TStateMachine">The type of the state machine.</typeparam>
<param name="awaiter">The awaiter.</param>
<param name="stateMachine">The state machine.</param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.Complete">
<summary>Marks iteration as being completed, whether successfully or otherwise.</summary>
</member>
<member name="P:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.ObjectIdForDebugger">
<summary>Gets an object that may be used to uniquely identify this builder to the debugger.</summary>
</member>
<member name="T:System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute">
<summary>Indicates whether a method is an asynchronous iterator.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute.#ctor(System.Type)">
<summary>Initializes a new instance of the <see cref="T:System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute"/> class.</summary>
<param name="stateMachineType">The type object for the underlying state machine type that's used to implement a state machine method.</param>
</member>
<member name="T:System.Runtime.CompilerServices.ConfiguredAsyncDisposable">
<summary>Provides a type that can be used to configure how awaits on an <see cref="T:System.IAsyncDisposable"/> are performed.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredAsyncDisposable.DisposeAsync">
<summary>Asynchronously releases the unmanaged resources used by the <see cref="T:System.Runtime.CompilerServices.ConfiguredAsyncDisposable" />.</summary>
<returns>A task that represents the asynchronous dispose operation.</returns>
</member>
<member name="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1">
<summary>Provides an awaitable async enumerable that enables cancelable iteration and configured awaits.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.ConfigureAwait(System.Boolean)">
<summary>Configures how awaits on the tasks returned from an async iteration will be performed.</summary>
<param name="continueOnCapturedContext"><see langword="true" /> to capture and marshal back to the current context; otherwise, <see langword="false" />.</param>
<returns>The configured enumerable.</returns>
<remarks>This will replace any previous value set by <see cref="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.ConfigureAwait(System.Boolean)"/> for this iteration.</remarks>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.WithCancellation(System.Threading.CancellationToken)">
<summary>Sets the <see cref="T:System.Threading.CancellationToken"/> to be passed to <see cref="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)"/> when iterating.</summary>
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to use.</param>
<returns>The configured enumerable.</returns>
<remarks>This will replace any previous <see cref="T:System.Threading.CancellationToken"/> set by <see cref="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.WithCancellation(System.Threading.CancellationToken)"/> for this iteration.</remarks>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.GetAsyncEnumerator">
<summary>Returns an enumerator that iterates asynchronously through collections that enables cancelable iteration and configured awaits.</summary>
<returns>An enumerator for the <see cref="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1" /> class.</returns>
</member>
<member name="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator">
<summary>Provides an awaitable async enumerator that enables cancelable iteration and configured awaits.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator.MoveNextAsync">
<summary>Advances the enumerator asynchronously to the next element of the collection.</summary>
<returns>
A <see cref="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1"/> that will complete with a result of <c>true</c>
if the enumerator was successfully advanced to the next element, or <c>false</c> if the enumerator has
passed the end of the collection.
</returns>
</member>
<member name="P:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator.Current">
<summary>Gets the element in the collection at the current position of the enumerator.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator.DisposeAsync">
<summary>
Performs application-defined tasks associated with freeing, releasing, or
resetting unmanaged resources asynchronously.
</summary>
</member>
<member name="T:System.Runtime.CompilerServices.EnumeratorCancellationAttribute">
<summary>Allows users of async-enumerable methods to mark the parameter that should receive the cancellation token value from <see cref="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)" />.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.EnumeratorCancellationAttribute.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Runtime.CompilerServices.EnumeratorCancellationAttribute" /> class.</summary>
</member>
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
<summary>
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.
</summary>
<remarks>
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.
</remarks>
</member>
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
</summary>
<param name="libraryName">Name of the library containing the import.</param>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
<summary>
Gets the name of the library containing the import.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
<summary>
Gets or sets the name of the entry point to be called.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
<summary>
Gets or sets how to marshal string arguments to the method.
</summary>
<remarks>
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
<summary>
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
</summary>
<remarks>
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
<summary>
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
on other platforms) before returning from the attributed method.
</summary>
</member>
<member name="T:System.Runtime.InteropServices.StringMarshalling">
<summary>
Specifies how strings should be marshalled for generated p/invokes
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
<summary>
Indicates the user is supplying a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
<summary>
Use the platform-provided UTF-8 marshaller.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
<summary>
Use the platform-provided UTF-16 marshaller.
</summary>
</member>
<member name="T:System.Collections.Generic.IAsyncEnumerable`1">
<summary>Exposes an enumerator that provides asynchronous iteration over values of a specified type.</summary>
<typeparam name="T">The type of values to enumerate.</typeparam>
</member>
<member name="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)">
<summary>Returns an enumerator that iterates asynchronously through the collection.</summary>
<param name="cancellationToken">A <see cref="T:System.Threading.CancellationToken"/> that may be used to cancel the asynchronous iteration.</param>
<returns>An enumerator that can be used to iterate asynchronously through the collection.</returns>
</member>
<member name="T:System.Collections.Generic.IAsyncEnumerator`1">
<summary>Supports a simple asynchronous iteration over a generic collection.</summary>
<typeparam name="T">The type of objects to enumerate.</typeparam>
</member>
<member name="M:System.Collections.Generic.IAsyncEnumerator`1.MoveNextAsync">
<summary>Advances the enumerator asynchronously to the next element of the collection.</summary>
<returns>
A <see cref="T:System.Threading.Tasks.ValueTask`1"/> that will complete with a result of <c>true</c> if the enumerator
was successfully advanced to the next element, or <c>false</c> if the enumerator has passed the end
of the collection.
</returns>
</member>
<member name="P:System.Collections.Generic.IAsyncEnumerator`1.Current">
<summary>Gets the element in the collection at the current position of the enumerator.</summary>
</member>
<member name="T:System.IAsyncDisposable">
<summary>Provides a mechanism for releasing unmanaged resources asynchronously.</summary>
</member>
<member name="M:System.IAsyncDisposable.DisposeAsync">
<summary>
Performs application-defined tasks associated with freeing, releasing, or
resetting unmanaged resources asynchronously.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
<summary>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.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter may be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with the associated parameter name.</summary>
<param name="parameterName">
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
<summary>Gets the associated parameter name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
<summary>Applied to a method that will never return under any circumstance.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified parameter value.</summary>
<param name="parameterValue">
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
the associated parameter matches this value.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
<summary>Gets the condition parameter value.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>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.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated field or property member will not be null.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated field and property members will not be null.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.ExceptionPolyfills">
<summary>Provides downlevel polyfills for static methods on Exception-derived types.</summary>
</member>
</members>
</doc>

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,173 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>System.Buffers</name>
</assembly>
<members>
<member name="T:System.Buffers.ArrayPool`1">
<summary>
Provides a resource pool that enables reusing instances of type <see cref="T:T[]"/>.
</summary>
<remarks>
<para>
Renting and returning buffers with an <see cref="T:System.Buffers.ArrayPool`1"/> can increase performance
in situations where arrays are created and destroyed frequently, resulting in significant
memory pressure on the garbage collector.
</para>
<para>
This class is thread-safe. All members may be used by multiple threads concurrently.
</para>
</remarks>
</member>
<member name="F:System.Buffers.ArrayPool`1.s_sharedInstance">
<summary>The lazily-initialized shared pool instance.</summary>
</member>
<member name="P:System.Buffers.ArrayPool`1.Shared">
<summary>
Retrieves a shared <see cref="T:System.Buffers.ArrayPool`1"/> instance.
</summary>
<remarks>
The shared pool provides a default implementation of <see cref="T:System.Buffers.ArrayPool`1"/>
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 <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"/> 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.
</remarks>
</member>
<member name="M:System.Buffers.ArrayPool`1.EnsureSharedCreated">
<summary>Ensures that <see cref="F:System.Buffers.ArrayPool`1.s_sharedInstance"/> has been initialized to a pool and returns it.</summary>
</member>
<member name="M:System.Buffers.ArrayPool`1.Create">
<summary>
Creates a new <see cref="T:System.Buffers.ArrayPool`1"/> instance using default configuration options.
</summary>
<returns>A new <see cref="T:System.Buffers.ArrayPool`1"/> instance.</returns>
</member>
<member name="M:System.Buffers.ArrayPool`1.Create(System.Int32,System.Int32)">
<summary>
Creates a new <see cref="T:System.Buffers.ArrayPool`1"/> instance using custom configuration options.
</summary>
<param name="maxArrayLength">The maximum length of array instances that may be stored in the pool.</param>
<param name="maxArraysPerBucket">
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.
</param>
<returns>A new <see cref="T:System.Buffers.ArrayPool`1"/> instance with the specified configuration options.</returns>
<remarks>
The created pool will group arrays into buckets, with no more than <paramref name="maxArraysPerBucket"/>
in each bucket and with those arrays not exceeding <paramref name="maxArrayLength"/> in length.
</remarks>
</member>
<member name="M:System.Buffers.ArrayPool`1.Rent(System.Int32)">
<summary>
Retrieves a buffer that is at least the requested length.
</summary>
<param name="minimumLength">The minimum length of the array needed.</param>
<returns>
An <see cref="T:T[]"/> that is at least <paramref name="minimumLength"/> in length.
</returns>
<remarks>
This buffer is loaned to the caller and should be returned to the same pool via
<see cref="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)"/> so that it may be reused in subsequent usage of <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"/>.
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.
</remarks>
</member>
<member name="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)">
<summary>
Returns to the pool an array that was previously obtained via <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"/> on the same
<see cref="T:System.Buffers.ArrayPool`1"/> instance.
</summary>
<param name="array">
The buffer previously obtained from <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"/> to return to the pool.
</param>
<param name="clearArray">
If <c>true</c> and if the pool will store the buffer to enable subsequent reuse, <see cref="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)"/>
will clear <paramref name="array"/> of its contents so that a subsequent consumer via <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"/>
will not see the previous consumer's content. If <c>false</c> or if the pool will release the buffer,
the array's contents are left unchanged.
</param>
<remarks>
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 <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"/> must only be
returned via <see cref="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)"/> once. The default <see cref="T:System.Buffers.ArrayPool`1"/>
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.
</remarks>
</member>
<member name="T:System.Buffers.ArrayPoolEventSource.BufferAllocatedReason">
<summary>The reason for a BufferAllocated event.</summary>
</member>
<member name="F:System.Buffers.ArrayPoolEventSource.BufferAllocatedReason.Pooled">
<summary>The pool is allocating a buffer to be pooled in a bucket.</summary>
</member>
<member name="F:System.Buffers.ArrayPoolEventSource.BufferAllocatedReason.OverMaximumSize">
<summary>The requested buffer size was too large to be pooled.</summary>
</member>
<member name="F:System.Buffers.ArrayPoolEventSource.BufferAllocatedReason.PoolExhausted">
<summary>The pool has already allocated for pooling as many buffers of a particular size as it's allowed.</summary>
</member>
<member name="M:System.Buffers.ArrayPoolEventSource.BufferRented(System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
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).
</summary>
</member>
<member name="M:System.Buffers.ArrayPoolEventSource.BufferAllocated(System.Int32,System.Int32,System.Int32,System.Int32,System.Buffers.ArrayPoolEventSource.BufferAllocatedReason)">
<summary>
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.
</summary>
</member>
<member name="M:System.Buffers.ArrayPoolEventSource.BufferReturned(System.Int32,System.Int32,System.Int32)">
<summary>
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.
</summary>
</member>
<member name="F:System.Buffers.DefaultArrayPool`1.DefaultMaxArrayLength">
<summary>The default maximum length of each array in the pool (2^20).</summary>
</member>
<member name="F:System.Buffers.DefaultArrayPool`1.DefaultMaxNumberOfArraysPerBucket">
<summary>The default maximum number of arrays per bucket that are available for rent.</summary>
</member>
<member name="F:System.Buffers.DefaultArrayPool`1.s_emptyArray">
<summary>Lazily-allocated empty array used when arrays of length 0 are requested.</summary>
</member>
<member name="P:System.Buffers.DefaultArrayPool`1.Id">
<summary>Gets an ID for the pool to use with events.</summary>
</member>
<member name="T:System.Buffers.DefaultArrayPool`1.Bucket">
<summary>Provides a thread-safe bucket containing buffers that can be Rent'd and Return'd.</summary>
</member>
<member name="M:System.Buffers.DefaultArrayPool`1.Bucket.#ctor(System.Int32,System.Int32,System.Int32)">
<summary>
Creates the pool with numberOfBuffers arrays where each buffer is of bufferLength length.
</summary>
</member>
<member name="P:System.Buffers.DefaultArrayPool`1.Bucket.Id">
<summary>Gets an ID for the bucket to use with events.</summary>
</member>
<member name="M:System.Buffers.DefaultArrayPool`1.Bucket.Rent">
<summary>Takes an array from the bucket. If the bucket is empty, returns null.</summary>
</member>
<member name="M:System.Buffers.DefaultArrayPool`1.Bucket.Return(`0[])">
<summary>
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.
</summary>
</member>
<member name="P:System.SR.ArgumentException_BufferNotFromPool">
<summary>The buffer is not associated with this pool and may not be returned to it.</summary>
</member>
</members>
</doc>

Binary file not shown.

View File

@ -0,0 +1,391 @@
<?xml version="1.0" encoding="utf-8"?>
<doc>
<assembly>
<name>System.IO.Pipelines</name>
</assembly>
<members>
<member name="T:System.IO.Pipelines.FlushResult">
<summary>Result returned by <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> call.</summary>
</member>
<member name="M:System.IO.Pipelines.FlushResult.#ctor(System.Boolean,System.Boolean)">
<summary>Initializes a new instance of <see cref="T:System.IO.Pipelines.FlushResult" /> struct setting the <see cref="P:System.IO.Pipelines.FlushResult.IsCanceled" /> and <see cref="P:System.IO.Pipelines.FlushResult.IsCompleted" /> flags.</summary>
<param name="isCanceled">
<see langword="true" /> to indicate the current <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> operation that produced this <see cref="T:System.IO.Pipelines.FlushResult" /> was canceled by <see cref="M:System.IO.Pipelines.PipeWriter.CancelPendingFlush" />; otherwise, <see langword="false" />.</param>
<param name="isCompleted">
<see langword="true" /> to indicate the reader is no longer reading data written to the <see cref="T:System.IO.Pipelines.PipeWriter" />.</param>
</member>
<member name="P:System.IO.Pipelines.FlushResult.IsCanceled">
<summary>Gets a value that indicates whether the current <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> operation was canceled by <see cref="M:System.IO.Pipelines.PipeWriter.CancelPendingFlush" />.</summary>
<returns>
<see langword="true" /> if the current <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> operation was canceled by <see cref="M:System.IO.Pipelines.PipeWriter.CancelPendingFlush" />; otherwise, <see langword="false" />.</returns>
</member>
<member name="P:System.IO.Pipelines.FlushResult.IsCompleted">
<summary>Gets a value that indicates the reader is no longer reading data written to the <see cref="T:System.IO.Pipelines.PipeWriter" />.</summary>
<returns>
<see langword="true" /> if the reader is no longer reading data written to the <see cref="T:System.IO.Pipelines.PipeWriter" />; otherwise, <see langword="false" />.</returns>
</member>
<member name="T:System.IO.Pipelines.IDuplexPipe">
<summary>Defines a class that provides a duplex pipe from which data can be read from and written to.</summary>
</member>
<member name="P:System.IO.Pipelines.IDuplexPipe.Input">
<summary>Gets the <see cref="T:System.IO.Pipelines.PipeReader" /> half of the duplex pipe.</summary>
</member>
<member name="P:System.IO.Pipelines.IDuplexPipe.Output">
<summary>Gets the <see cref="T:System.IO.Pipelines.PipeWriter" /> half of the duplex pipe.</summary>
</member>
<member name="T:System.IO.Pipelines.Pipe">
<summary>The default <see cref="T:System.IO.Pipelines.PipeWriter" /> and <see cref="T:System.IO.Pipelines.PipeReader" /> implementation.</summary>
</member>
<member name="M:System.IO.Pipelines.Pipe.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.IO.Pipelines.Pipe" /> class using <see cref="P:System.IO.Pipelines.PipeOptions.Default" /> as options.</summary>
</member>
<member name="M:System.IO.Pipelines.Pipe.#ctor(System.IO.Pipelines.PipeOptions)">
<summary>Initializes a new instance of the <see cref="T:System.IO.Pipelines.Pipe" /> class with the specified options.</summary>
<param name="options">The set of options for this pipe.</param>
</member>
<member name="M:System.IO.Pipelines.Pipe.Reset">
<summary>Resets the pipe.</summary>
</member>
<member name="P:System.IO.Pipelines.Pipe.Reader">
<summary>Gets the <see cref="T:System.IO.Pipelines.PipeReader" /> for this pipe.</summary>
<returns>A <see cref="T:System.IO.Pipelines.PipeReader" /> instance for this pipe.</returns>
</member>
<member name="P:System.IO.Pipelines.Pipe.Writer">
<summary>Gets the <see cref="T:System.IO.Pipelines.PipeWriter" /> for this pipe.</summary>
<returns>A <see cref="T:System.IO.Pipelines.PipeWriter" /> instance for this pipe.</returns>
</member>
<member name="T:System.IO.Pipelines.PipeOptions">
<summary>Represents a set of <see cref="T:System.IO.Pipelines.Pipe" /> options.</summary>
</member>
<member name="M:System.IO.Pipelines.PipeOptions.#ctor(System.Buffers.MemoryPool{System.Byte},System.IO.Pipelines.PipeScheduler,System.IO.Pipelines.PipeScheduler,System.Int64,System.Int64,System.Int32,System.Boolean)">
<summary>Initializes a new instance of the <see cref="T:System.IO.Pipelines.PipeOptions" /> class with the specified parameters.</summary>
<param name="pool">The pool of memory blocks to be used for buffer management.</param>
<param name="readerScheduler">The <see cref="T:System.IO.Pipelines.PipeScheduler" /> to be used to execute <see cref="T:System.IO.Pipelines.PipeReader" /> callbacks and async continuations.</param>
<param name="writerScheduler">The <see cref="T:System.IO.Pipelines.PipeScheduler" /> used to execute <see cref="T:System.IO.Pipelines.PipeWriter" /> callbacks and async continuations.</param>
<param name="pauseWriterThreshold">The number of bytes in the <see cref="T:System.IO.Pipelines.Pipe" /> before <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> starts blocking. A value of zero prevents <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> from ever blocking, effectively making the number of bytes in the <see cref="T:System.IO.Pipelines.Pipe" /> unlimited.</param>
<param name="resumeWriterThreshold">The number of bytes in the <see cref="T:System.IO.Pipelines.Pipe" /> when <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> stops blocking.</param>
<param name="minimumSegmentSize">The minimum size of the segment requested from <paramref name="pool" />.</param>
<param name="useSynchronizationContext">
<see langword="true" /> if asynchronous continuations should be executed on the <see cref="T:System.Threading.SynchronizationContext" /> they were captured on; <see langword="false" /> otherwise. This takes precedence over the schedulers specified in <see cref="P:System.IO.Pipelines.PipeOptions.ReaderScheduler" /> and <see cref="P:System.IO.Pipelines.PipeOptions.WriterScheduler" />.</param>
</member>
<member name="P:System.IO.Pipelines.PipeOptions.Default">
<summary>Gets the default instance of <see cref="T:System.IO.Pipelines.PipeOptions" />.</summary>
<returns>A <see cref="T:System.IO.Pipelines.PipeOptions" /> object initialized with default parameters.</returns>
</member>
<member name="P:System.IO.Pipelines.PipeOptions.MinimumSegmentSize">
<summary>Gets the minimum size of the segment requested from the <see cref="P:System.IO.Pipelines.PipeOptions.Pool" />.</summary>
<returns>The minimum size of the segment requested from the <see cref="P:System.IO.Pipelines.PipeOptions.Pool" />.</returns>
</member>
<member name="P:System.IO.Pipelines.PipeOptions.PauseWriterThreshold">
<summary>Gets the number of bytes in the <see cref="T:System.IO.Pipelines.Pipe" /> when <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> starts blocking. A value of zero prevents <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> from ever blocking, effectively making the number of bytes in the <see cref="T:System.IO.Pipelines.Pipe" /> unlimited.</summary>
<returns>The number of bytes in the <see cref="T:System.IO.Pipelines.Pipe" /> when <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> starts blocking.</returns>
</member>
<member name="P:System.IO.Pipelines.PipeOptions.Pool">
<summary>Gets the <see cref="T:System.Buffers.MemoryPool`1" /> object used for buffer management.</summary>
<returns>A pool of memory blocks used for buffer management.</returns>
</member>
<member name="P:System.IO.Pipelines.PipeOptions.ReaderScheduler">
<summary>Gets the <see cref="T:System.IO.Pipelines.PipeScheduler" /> used to execute <see cref="T:System.IO.Pipelines.PipeReader" /> callbacks and async continuations.</summary>
<returns>A <see cref="T:System.IO.Pipelines.PipeScheduler" /> that is used to execute <see cref="T:System.IO.Pipelines.PipeReader" /> callbacks and async continuations.</returns>
</member>
<member name="P:System.IO.Pipelines.PipeOptions.ResumeWriterThreshold">
<summary>Gets the number of bytes in the <see cref="T:System.IO.Pipelines.Pipe" /> when <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> stops blocking.</summary>
<returns>The number of bytes in the <see cref="T:System.IO.Pipelines.Pipe" /> when <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> stops blocking.</returns>
</member>
<member name="P:System.IO.Pipelines.PipeOptions.UseSynchronizationContext">
<summary>Gets a value that determines if asynchronous callbacks and continuations should be executed on the <see cref="T:System.Threading.SynchronizationContext" /> they were captured on. This takes precedence over the schedulers specified in <see cref="P:System.IO.Pipelines.PipeOptions.ReaderScheduler" /> and <see cref="P:System.IO.Pipelines.PipeOptions.WriterScheduler" />.</summary>
<returns>
<see langword="true" /> if asynchronous callbacks and continuations should be executed on the <see cref="T:System.Threading.SynchronizationContext" /> they were captured on; otherwise, <see langword="false" />.</returns>
</member>
<member name="P:System.IO.Pipelines.PipeOptions.WriterScheduler">
<summary>Gets the <see cref="T:System.IO.Pipelines.PipeScheduler" /> used to execute <see cref="T:System.IO.Pipelines.PipeWriter" /> callbacks and async continuations.</summary>
<returns>A <see cref="T:System.IO.Pipelines.PipeScheduler" /> object used to execute <see cref="T:System.IO.Pipelines.PipeWriter" /> callbacks and async continuations.</returns>
</member>
<member name="T:System.IO.Pipelines.PipeReader">
<summary>Defines a class that provides access to a read side of pipe.</summary>
</member>
<member name="M:System.IO.Pipelines.PipeReader.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.IO.Pipelines.PipeReader" /> class.</summary>
</member>
<member name="M:System.IO.Pipelines.PipeReader.AdvanceTo(System.SequencePosition,System.SequencePosition)">
<summary>Moves forward the pipeline's read cursor to after the consumed data, marking the data as processed, read and examined.</summary>
<param name="consumed">Marks the extent of the data that has been successfully processed.</param>
<param name="examined">Marks the extent of the data that has been read and examined.</param>
</member>
<member name="M:System.IO.Pipelines.PipeReader.AdvanceTo(System.SequencePosition)">
<summary>Moves forward the pipeline's read cursor to after the consumed data, marking the data as processed.</summary>
<param name="consumed">Marks the extent of the data that has been successfully processed.</param>
</member>
<member name="M:System.IO.Pipelines.PipeReader.AsStream(System.Boolean)">
<summary>Returns a <see cref="T:System.IO.Stream" /> representation of the <see cref="T:System.IO.Pipelines.PipeReader" />.</summary>
<param name="leaveOpen">An optional flag that indicates whether disposing the returned <see cref="T:System.IO.Stream" /> leaves <see cref="T:System.IO.Pipelines.PipeReader" /> open (<see langword="true" />) or completes <see cref="T:System.IO.Pipelines.PipeReader" /> (<see langword="false" />).</param>
<returns>A stream that represents the <see cref="T:System.IO.Pipelines.PipeReader" />.</returns>
</member>
<member name="M:System.IO.Pipelines.PipeReader.CancelPendingRead">
<summary>Cancels the pending <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> operation without causing it to throw and without completing the <see cref="T:System.IO.Pipelines.PipeReader" />. If there is no pending operation, this cancels the next operation.</summary>
</member>
<member name="M:System.IO.Pipelines.PipeReader.Complete(System.Exception)">
<summary>Signals to the producer that the consumer is done reading.</summary>
<param name="exception">Optional <see cref="T:System.Exception" /> indicating a failure that's causing the pipeline to complete.</param>
</member>
<member name="M:System.IO.Pipelines.PipeReader.CompleteAsync(System.Exception)">
<summary>Marks the current pipe reader instance as being complete, meaning no more data will be read from it.</summary>
<param name="exception">An optional exception that indicates the failure that caused the reader to complete.</param>
<returns>A value task that represents the asynchronous complete operation.</returns>
</member>
<member name="M:System.IO.Pipelines.PipeReader.CopyToAsync(System.IO.Pipelines.PipeWriter,System.Threading.CancellationToken)">
<summary>Asynchronously reads the bytes from the <see cref="T:System.IO.Pipelines.PipeReader" /> and writes them to the specified <see cref="T:System.IO.Pipelines.PipeWriter" />, using a specified cancellation token.</summary>
<param name="destination">The pipe writer to which the contents of the current stream will be copied.</param>
<param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
<exception cref="T:System.OperationCanceledException">The cancellation token was canceled. This exception is stored into the returned task.</exception>
<returns>A task that represents the asynchronous copy operation.</returns>
</member>
<member name="M:System.IO.Pipelines.PipeReader.CopyToAsync(System.IO.Stream,System.Threading.CancellationToken)">
<summary>Asynchronously reads the bytes from the <see cref="T:System.IO.Pipelines.PipeReader" /> and writes them to the specified stream, using a specified cancellation token.</summary>
<param name="destination">The stream to which the contents of the current stream will be copied.</param>
<param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
<exception cref="T:System.OperationCanceledException">The cancellation token was canceled. This exception is stored into the returned task.</exception>
<returns>A task that represents the asynchronous copy operation.</returns>
</member>
<member name="M:System.IO.Pipelines.PipeReader.Create(System.Buffers.ReadOnlySequence{System.Byte})">
<summary>Creates a <see cref="T:System.IO.Pipelines.PipeReader" /> wrapping the specified <see cref="T:System.Buffers.ReadOnlySequence`1" />.</summary>
<param name="sequence">The sequence to wrap.</param>
<returns>A <see cref="T:System.IO.Pipelines.PipeReader" /> that wraps the <see cref="T:System.Buffers.ReadOnlySequence`1" />.</returns>
</member>
<member name="M:System.IO.Pipelines.PipeReader.Create(System.IO.Stream,System.IO.Pipelines.StreamPipeReaderOptions)">
<summary>Creates a <see cref="T:System.IO.Pipelines.PipeReader" /> wrapping the specified <see cref="T:System.IO.Stream" />.</summary>
<param name="stream">The stream that the pipe reader will wrap.</param>
<param name="readerOptions">The options to configure the pipe reader.</param>
<returns>A <see cref="T:System.IO.Pipelines.PipeReader" /> that wraps the <see cref="T:System.IO.Stream" />.</returns>
</member>
<member name="M:System.IO.Pipelines.PipeReader.OnWriterCompleted(System.Action{System.Exception,System.Object},System.Object)">
<summary>Registers a callback that executes when the <see cref="T:System.IO.Pipelines.PipeWriter" /> side of the pipe is completed.</summary>
<param name="callback">The callback to register.</param>
<param name="state">The state object to pass to <paramref name="callback" /> when it's invoked.</param>
</member>
<member name="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)">
<summary>Asynchronously reads a sequence of bytes from the current <see cref="T:System.IO.Pipelines.PipeReader" />.</summary>
<param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see langword="default" />.</param>
<exception cref="T:System.OperationCanceledException">The cancellation token was canceled. This exception is stored into the returned task.</exception>
<returns>A <see cref="T:System.Threading.Tasks.ValueTask`1" /> representing the asynchronous read operation.</returns>
</member>
<member name="M:System.IO.Pipelines.PipeReader.ReadAtLeastAsync(System.Int32,System.Threading.CancellationToken)">
<summary>Asynchronously reads a sequence of bytes from the current <see cref="T:System.IO.Pipelines.PipeReader" />.</summary>
<param name="minimumSize">The minimum length that needs to be buffered in order for the call to return.</param>
<param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see langword="default" />.</param>
<exception cref="T:System.OperationCanceledException">The cancellation token was canceled. This exception is stored into the returned task.</exception>
<returns>A <see cref="T:System.Threading.Tasks.ValueTask`1" /> representing the asynchronous read operation.</returns>
</member>
<member name="M:System.IO.Pipelines.PipeReader.ReadAtLeastAsyncCore(System.Int32,System.Threading.CancellationToken)">
<summary>Asynchronously reads a sequence of bytes from the current <see cref="T:System.IO.Pipelines.PipeReader" />.</summary>
<param name="minimumSize">The minimum length that needs to be buffered in order for the call to return.</param>
<param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see langword="default" />.</param>
<exception cref="T:System.OperationCanceledException">The cancellation token was canceled. This exception is stored into the returned task.</exception>
<returns>A <see cref="T:System.Threading.Tasks.ValueTask`1" /> representing the asynchronous read operation.</returns>
</member>
<member name="M:System.IO.Pipelines.PipeReader.TryRead(System.IO.Pipelines.ReadResult@)">
<summary>Attempts to synchronously read data the <see cref="T:System.IO.Pipelines.PipeReader" />.</summary>
<param name="result">When this method returns <see langword="true" />, this value is set to a <see cref="T:System.IO.Pipelines.ReadResult" /> instance that represents the result of the read call; otherwise, this value is set to <see langword="default" />.</param>
<returns>
<see langword="true" /> if data was available, or if the call was canceled or the writer was completed; otherwise, <see langword="false" />.</returns>
</member>
<member name="T:System.IO.Pipelines.PipeScheduler">
<summary>Abstraction for running <see cref="T:System.IO.Pipelines.PipeReader" /> and <see cref="T:System.IO.Pipelines.PipeWriter" /> callbacks and continuations.</summary>
</member>
<member name="M:System.IO.Pipelines.PipeScheduler.#ctor">
<summary>Initializes new a <see cref="T:System.IO.Pipelines.PipeScheduler" /> instance.</summary>
</member>
<member name="M:System.IO.Pipelines.PipeScheduler.Schedule(System.Action{System.Object},System.Object)">
<summary>Requests <paramref name="action" /> to be run on scheduler with <paramref name="state" /> being passed in.</summary>
<param name="action">The single-parameter action delegate to schedule.</param>
<param name="state">The parameter to pass to the <paramref name="action" /> delegate.</param>
</member>
<member name="P:System.IO.Pipelines.PipeScheduler.Inline">
<summary>The <see cref="T:System.IO.Pipelines.PipeScheduler" /> implementation that runs callbacks inline.</summary>
<returns>A <see cref="T:System.IO.Pipelines.PipeScheduler" /> instance that runs callbacks inline.</returns>
</member>
<member name="P:System.IO.Pipelines.PipeScheduler.ThreadPool">
<summary>The <see cref="T:System.IO.Pipelines.PipeScheduler" /> implementation that queues callbacks to the thread pool.</summary>
<returns>A <see cref="T:System.IO.Pipelines.PipeScheduler" /> instance that queues callbacks to the thread pool.</returns>
</member>
<member name="T:System.IO.Pipelines.PipeWriter">
<summary>Defines a class that provides a pipeline to which data can be written.</summary>
</member>
<member name="M:System.IO.Pipelines.PipeWriter.#ctor">
<summary>Initializes a new instance of the class.</summary>
</member>
<member name="M:System.IO.Pipelines.PipeWriter.Advance(System.Int32)">
<summary>Notifies the <see cref="T:System.IO.Pipelines.PipeWriter" /> that <paramref name="bytes" /> bytes were written to the output <see cref="T:System.Span`1" /> or <see cref="T:System.Memory`1" />. You must call <see cref="M:System.IO.Pipelines.PipeWriter.GetSpan(System.Int32)" /> or <see cref="M:System.IO.Pipelines.PipeWriter.GetMemory(System.Int32)" /> again and use the returned buffer to continue writing more data after calling <see cref="M:System.IO.Pipelines.PipeWriter.Advance(System.Int32)" />; you cannot write to a previously acquired buffer.</summary>
<param name="bytes">The number of bytes written to the <see cref="T:System.Span`1" /> or <see cref="T:System.Memory`1" />.</param>
</member>
<member name="M:System.IO.Pipelines.PipeWriter.AsStream(System.Boolean)">
<summary>Returns a <see cref="T:System.IO.Stream" /> representation of the <see cref="T:System.IO.Pipelines.PipeWriter" />.</summary>
<param name="leaveOpen">An optional flag that indicates whether disposing the returned <see cref="T:System.IO.Stream" /> leaves <see cref="T:System.IO.Pipelines.PipeReader" /> open (<see langword="true" />) or completes <see cref="T:System.IO.Pipelines.PipeReader" /> (<see langword="false" />).</param>
<returns>A stream that represents the <see cref="T:System.IO.Pipelines.PipeWriter" />.</returns>
</member>
<member name="M:System.IO.Pipelines.PipeWriter.CancelPendingFlush">
<summary>Cancels the pending <see cref="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)" /> or <see cref="M:System.IO.Pipelines.PipeWriter.WriteAsync(System.ReadOnlyMemory{System.Byte},System.Threading.CancellationToken)" /> operation without causing the operation to throw and without completing the <see cref="T:System.IO.Pipelines.PipeWriter" />. If there is no pending operation, this cancels the next operation.</summary>
</member>
<member name="M:System.IO.Pipelines.PipeWriter.Complete(System.Exception)">
<summary>Marks the <see cref="T:System.IO.Pipelines.PipeWriter" /> as being complete, meaning no more items will be written to it.</summary>
<param name="exception">Optional <see cref="T:System.Exception" /> indicating a failure that's causing the pipeline to complete.</param>
</member>
<member name="M:System.IO.Pipelines.PipeWriter.CompleteAsync(System.Exception)">
<summary>Marks the current pipe writer instance as being complete, meaning no more data will be written to it.</summary>
<param name="exception">An optional exception that indicates the failure that caused the pipeline to complete.</param>
<returns>A value task that represents the asynchronous complete operation.</returns>
</member>
<member name="M:System.IO.Pipelines.PipeWriter.CopyFromAsync(System.IO.Stream,System.Threading.CancellationToken)">
<summary>Asynchronously reads the bytes from the specified stream and writes them to the <see cref="T:System.IO.Pipelines.PipeWriter" />.</summary>
<param name="source">The stream from which the contents will be copied.</param>
<param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
<exception cref="T:System.OperationCanceledException">The cancellation token was canceled. This exception is stored into the returned task.</exception>
<returns>A task that represents the asynchronous copy operation.</returns>
</member>
<member name="M:System.IO.Pipelines.PipeWriter.Create(System.IO.Stream,System.IO.Pipelines.StreamPipeWriterOptions)">
<summary>Creates a <see cref="T:System.IO.Pipelines.PipeWriter" /> wrapping the specified <see cref="T:System.IO.Stream" />.</summary>
<param name="stream">The stream that the pipe writer will wrap.</param>
<param name="writerOptions">The options to configure the pipe writer.</param>
<returns>A <see cref="T:System.IO.Pipelines.PipeWriter" /> that wraps the <see cref="T:System.IO.Stream" />.</returns>
</member>
<member name="M:System.IO.Pipelines.PipeWriter.FlushAsync(System.Threading.CancellationToken)">
<summary>Makes bytes written available to <see cref="T:System.IO.Pipelines.PipeReader" /> and runs <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> continuation.</summary>
<param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
<exception cref="T:System.OperationCanceledException">The cancellation token was canceled. This exception is stored into the returned task.</exception>
<returns>A task that represents and wraps the asynchronous flush operation.</returns>
</member>
<member name="M:System.IO.Pipelines.PipeWriter.GetMemory(System.Int32)">
<summary>Returns a <see cref="T:System.Memory`1" /> to write to that is at least the requested size, as specified by the <paramref name="sizeHint" /> parameter.</summary>
<param name="sizeHint">The minimum length of the returned <see cref="T:System.Memory`1" />. If 0, a non-empty memory buffer of arbitrary size is returned.</param>
<exception cref="T:System.OutOfMemoryException">The requested buffer size is not available.</exception>
<returns>A memory buffer of at least <paramref name="sizeHint" /> bytes. If <paramref name="sizeHint" /> is 0, returns a non-empty buffer of arbitrary size.</returns>
</member>
<member name="M:System.IO.Pipelines.PipeWriter.GetSpan(System.Int32)">
<summary>Returns a <see cref="T:System.Span`1" /> to write to that is at least the requested size, as specified by the <paramref name="sizeHint" /> parameter.</summary>
<param name="sizeHint">The minimum length of the returned <see cref="T:System.Span`1" />. If 0, a non-empty buffer of arbitrary size is returned.</param>
<exception cref="T:System.OutOfMemoryException">The requested buffer size is not available.</exception>
<returns>A buffer of at least <paramref name="sizeHint" /> bytes. If <paramref name="sizeHint" /> is 0, returns a non-empty buffer of arbitrary size.</returns>
</member>
<member name="M:System.IO.Pipelines.PipeWriter.OnReaderCompleted(System.Action{System.Exception,System.Object},System.Object)">
<summary>Registers a callback that executes when the <see cref="T:System.IO.Pipelines.PipeReader" /> side of the pipe is completed.</summary>
<param name="callback">The callback to register.</param>
<param name="state">The state object to pass to <paramref name="callback" /> when it's invoked.</param>
</member>
<member name="M:System.IO.Pipelines.PipeWriter.WriteAsync(System.ReadOnlyMemory{System.Byte},System.Threading.CancellationToken)">
<summary>Writes the specified byte memory range to the pipe and makes data accessible to the <see cref="T:System.IO.Pipelines.PipeReader" />.</summary>
<param name="source">The read-only byte memory region to write.</param>
<param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
<exception cref="T:System.OperationCanceledException">The cancellation token was canceled. This exception is stored into the returned task.</exception>
<returns>A task that represents the asynchronous write operation, and wraps the flush asynchronous operation.</returns>
</member>
<member name="P:System.IO.Pipelines.PipeWriter.CanGetUnflushedBytes">
<summary>Gets a value that indicates whether the current <see cref="T:System.IO.Pipelines.PipeWriter" /> supports reporting the count of unflushed bytes.</summary>
<returns>
<see langword="true" />If a class derived from <see cref="T:System.IO.Pipelines.PipeWriter" /> does not support getting the unflushed bytes, calls to <see cref="P:System.IO.Pipelines.PipeWriter.UnflushedBytes" /> throw <see cref="T:System.NotImplementedException" />.</returns>
</member>
<member name="P:System.IO.Pipelines.PipeWriter.UnflushedBytes">
<summary>When overridden in a derived class, gets the count of unflushed bytes within the current writer.</summary>
<exception cref="T:System.NotImplementedException">The <see cref="T:System.IO.Pipelines.PipeWriter" /> does not support getting the unflushed byte count.</exception>
</member>
<member name="T:System.IO.Pipelines.ReadResult">
<summary>Represents the result of a <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> call.</summary>
</member>
<member name="M:System.IO.Pipelines.ReadResult.#ctor(System.Buffers.ReadOnlySequence{System.Byte},System.Boolean,System.Boolean)">
<summary>Creates a new instance of <see cref="T:System.IO.Pipelines.ReadResult" /> setting <see cref="P:System.IO.Pipelines.ReadResult.IsCanceled" /> and <see cref="P:System.IO.Pipelines.ReadResult.IsCompleted" /> flags.</summary>
<param name="buffer">The read-only sequence containing the bytes of data that were read in the <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> call.</param>
<param name="isCanceled">A flag that indicates if the <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> operation that produced this <see cref="T:System.IO.Pipelines.ReadResult" /> was canceled by <see cref="M:System.IO.Pipelines.PipeReader.CancelPendingRead" />.</param>
<param name="isCompleted">A flag that indicates whether the end of the data stream has been reached.</param>
</member>
<member name="P:System.IO.Pipelines.ReadResult.Buffer">
<summary>Gets the <see cref="T:System.Buffers.ReadOnlySequence`1" /> that was read.</summary>
<returns>A read-only sequence containing the bytes of data that were read in the <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> call.</returns>
</member>
<member name="P:System.IO.Pipelines.ReadResult.IsCanceled">
<summary>Gets a value that indicates whether the current <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> operation was canceled by <see cref="M:System.IO.Pipelines.PipeReader.CancelPendingRead" />.</summary>
<returns>
<see langword="true" /> if the <see cref="M:System.IO.Pipelines.PipeReader.ReadAsync(System.Threading.CancellationToken)" /> operation that produced this <see cref="T:System.IO.Pipelines.ReadResult" /> was canceled by <see cref="M:System.IO.Pipelines.PipeReader.CancelPendingRead" />; otherwise, <see langword="false" />.</returns>
</member>
<member name="P:System.IO.Pipelines.ReadResult.IsCompleted">
<summary>Gets a value that indicates whether the end of the data stream has been reached.</summary>
<returns>
<see langword="true" /> if the end of the data stream has been reached; otherwise, <see langword="false" />.</returns>
</member>
<member name="T:System.IO.Pipelines.StreamPipeExtensions">
<summary>Provides extension methods for <see cref="T:System.IO.Stream" /> that support read and write operations directly into pipes.</summary>
</member>
<member name="M:System.IO.Pipelines.StreamPipeExtensions.CopyToAsync(System.IO.Stream,System.IO.Pipelines.PipeWriter,System.Threading.CancellationToken)">
<summary>Asynchronously reads the bytes from the <see cref="T:System.IO.Stream" /> and writes them to the specified <see cref="T:System.IO.Pipelines.PipeWriter" />, using a cancellation token.</summary>
<param name="source">The stream from which the contents of the current stream will be copied.</param>
<param name="destination">The writer to which the contents of the source stream will be copied.</param>
<param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None" />.</param>
<exception cref="T:System.OperationCanceledException">The cancellation token was canceled. This exception is stored into the returned task.</exception>
<returns>A task that represents the asynchronous copy operation.</returns>
</member>
<member name="T:System.IO.Pipelines.StreamPipeReaderOptions">
<summary>Represents a set of options for controlling the creation of the <see cref="T:System.IO.Pipelines.PipeReader" />.</summary>
</member>
<member name="M:System.IO.Pipelines.StreamPipeReaderOptions.#ctor(System.Buffers.MemoryPool{System.Byte},System.Int32,System.Int32,System.Boolean,System.Boolean)">
<summary>Initializes a <see cref="T:System.IO.Pipelines.StreamPipeReaderOptions" /> 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 <see cref="T:System.IO.Pipelines.PipeReader" /> completes.</summary>
<param name="pool">The memory pool to use when allocating memory. The default value is <see langword="null" />.</param>
<param name="bufferSize">The minimum buffer size to use when renting memory from the <paramref name="pool" />. The default value is 4096.</param>
<param name="minimumReadSize">The threshold of remaining bytes in the buffer before a new buffer is allocated. The default value is 1024.</param>
<param name="leaveOpen">
<see langword="true" /> to leave the underlying stream open after the <see cref="T:System.IO.Pipelines.PipeReader" /> completes; <see langword="false" /> to close it. The default is <see langword="false" />.</param>
<param name="useZeroByteReads">
<see langword="true" /> if reads with an empty buffer should be issued to the underlying stream before allocating memory; otherwise, <see langword="false" />.</param>
</member>
<member name="M:System.IO.Pipelines.StreamPipeReaderOptions.#ctor(System.Buffers.MemoryPool{System.Byte},System.Int32,System.Int32,System.Boolean)">
<summary>Initializes a <see cref="T:System.IO.Pipelines.StreamPipeReaderOptions" /> 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 <see cref="T:System.IO.Pipelines.PipeReader" /> completes.</summary>
<param name="pool">The memory pool to use when allocating memory. The default value is <see langword="null" />.</param>
<param name="bufferSize">The minimum buffer size to use when renting memory from the <paramref name="pool" />. The default value is 4096.</param>
<param name="minimumReadSize">The threshold of remaining bytes in the buffer before a new buffer is allocated. The default value is 1024.</param>
<param name="leaveOpen">
<see langword="true" /> to leave the underlying stream open after the <see cref="T:System.IO.Pipelines.PipeReader" /> completes; <see langword="false" /> to close it. The default is <see langword="false" />.</param>
</member>
<member name="P:System.IO.Pipelines.StreamPipeReaderOptions.BufferSize">
<summary>Gets the minimum buffer size to use when renting memory from the <see cref="P:System.IO.Pipelines.StreamPipeReaderOptions.Pool" />.</summary>
<returns>The buffer size.</returns>
</member>
<member name="P:System.IO.Pipelines.StreamPipeReaderOptions.LeaveOpen">
<summary>Gets the value that indicates if the underlying stream should be left open after the <see cref="T:System.IO.Pipelines.PipeReader" /> completes.</summary>
<returns>
<see langword="true" /> if the underlying stream should be left open after the <see cref="T:System.IO.Pipelines.PipeReader" /> completes; otherwise, <see langword="false" />.</returns>
</member>
<member name="P:System.IO.Pipelines.StreamPipeReaderOptions.MinimumReadSize">
<summary>Gets the threshold of remaining bytes in the buffer before a new buffer is allocated.</summary>
<returns>The minimum read size.</returns>
</member>
<member name="P:System.IO.Pipelines.StreamPipeReaderOptions.Pool">
<summary>Gets the <see cref="T:System.Buffers.MemoryPool`1" /> to use when allocating memory.</summary>
<returns>A memory pool instance.</returns>
</member>
<member name="P:System.IO.Pipelines.StreamPipeReaderOptions.UseZeroByteReads">
<summary>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.</summary>
<returns>
<see langword="true" /> if reads with an empty buffer should be issued to the underlying stream before allocating memory; otherwise, <see langword="false" />.</returns>
</member>
<member name="T:System.IO.Pipelines.StreamPipeWriterOptions">
<summary>Represents a set of options for controlling the creation of the <see cref="T:System.IO.Pipelines.PipeWriter" />.</summary>
</member>
<member name="M:System.IO.Pipelines.StreamPipeWriterOptions.#ctor(System.Buffers.MemoryPool{System.Byte},System.Int32,System.Boolean)">
<summary>Initializes a <see cref="T:System.IO.Pipelines.StreamPipeWriterOptions" /> instance, optionally specifying a memory pool, a minimum buffer size, and whether the underlying stream should be left open after the <see cref="T:System.IO.Pipelines.PipeWriter" /> completes.</summary>
<param name="pool">The memory pool to use when allocating memory. The default value is <see langword="null" />.</param>
<param name="minimumBufferSize">The minimum buffer size to use when renting memory from the <paramref name="pool" />. The default value is 4096.</param>
<param name="leaveOpen">
<see langword="true" /> to leave the underlying stream open after the <see cref="T:System.IO.Pipelines.PipeWriter" /> completes; <see langword="false" /> to close it. The default is <see langword="false" />.</param>
</member>
<member name="P:System.IO.Pipelines.StreamPipeWriterOptions.LeaveOpen">
<summary>Gets the value that indicates if the underlying stream should be left open after the <see cref="T:System.IO.Pipelines.PipeWriter" /> completes.</summary>
<returns>
<see langword="true" /> if the underlying stream should be left open after the <see cref="T:System.IO.Pipelines.PipeWriter" /> completes; otherwise, <see langword="false" />.</returns>
</member>
<member name="P:System.IO.Pipelines.StreamPipeWriterOptions.MinimumBufferSize">
<summary>Gets the minimum buffer size to use when renting memory from the <see cref="P:System.IO.Pipelines.StreamPipeWriterOptions.Pool" />.</summary>
<returns>An integer representing the minimum buffer size.</returns>
</member>
<member name="P:System.IO.Pipelines.StreamPipeWriterOptions.Pool">
<summary>Gets the <see cref="T:System.Buffers.MemoryPool`1" /> to use when allocating memory.</summary>
<returns>A memory pool instance.</returns>
</member>
</members>
</doc>

BIN
bin/Debug/System.Memory.dll Normal file

Binary file not shown.

3489
bin/Debug/System.Memory.xml Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,353 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>System.Runtime.CompilerServices.Unsafe</name>
</assembly>
<members>
<member name="T:System.Runtime.CompilerServices.Unsafe">
<summary>
Contains generic, low-level functionality for manipulating pointers.
</summary>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Read``1(System.Void*)">
<summary>
Reads a value of type <typeparamref name="T"/> from the given location.
</summary>
<typeparam name="T">The type to read.</typeparam>
<param name="source">The location to read from.</param>
<returns>An object of type <typeparamref name="T"/> read from the given location.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.ReadUnaligned``1(System.Void*)">
<summary>
Reads a value of type <typeparamref name="T"/> from the given location.
</summary>
<typeparam name="T">The type to read.</typeparam>
<param name="source">The location to read from.</param>
<returns>An object of type <typeparamref name="T"/> read from the given location.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.ReadUnaligned``1(System.Byte@)">
<summary>
Reads a value of type <typeparamref name="T"/> from the given location.
</summary>
<typeparam name="T">The type to read.</typeparam>
<param name="source">The location to read from.</param>
<returns>An object of type <typeparamref name="T"/> read from the given location.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Write``1(System.Void*,``0)">
<summary>
Writes a value of type <typeparamref name="T"/> to the given location.
</summary>
<typeparam name="T">The type of value to write.</typeparam>
<param name="destination">The location to write to.</param>
<param name="value">The value to write.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.WriteUnaligned``1(System.Void*,``0)">
<summary>
Writes a value of type <typeparamref name="T"/> to the given location.
</summary>
<typeparam name="T">The type of value to write.</typeparam>
<param name="destination">The location to write to.</param>
<param name="value">The value to write.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.WriteUnaligned``1(System.Byte@,``0)">
<summary>
Writes a value of type <typeparamref name="T"/> to the given location.
</summary>
<typeparam name="T">The type of value to write.</typeparam>
<param name="destination">The location to write to.</param>
<param name="value">The value to write.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Copy``1(System.Void*,``0@)">
<summary>
Copies a value of type <typeparamref name="T"/> to the given location.
</summary>
<typeparam name="T">The type of value to copy.</typeparam>
<param name="destination">The location to copy to.</param>
<param name="source">A reference to the value to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Copy``1(``0@,System.Void*)">
<summary>
Copies a value of type <typeparamref name="T"/> to the given location.
</summary>
<typeparam name="T">The type of value to copy.</typeparam>
<param name="destination">The location to copy to.</param>
<param name="source">A pointer to the value to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AsPointer``1(``0@)">
<summary>
Returns a pointer to the given by-ref parameter.
</summary>
<typeparam name="T">The type of object.</typeparam>
<param name="value">The object whose pointer is obtained.</param>
<returns>A pointer to the given value.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.SizeOf``1">
<summary>
Returns the size of an object of the given type parameter.
</summary>
<typeparam name="T">The type of object whose size is retrieved.</typeparam>
<returns>The size of an object of type <typeparamref name="T"/>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.As``1(System.Object)">
<summary>
Casts the given object to the specified type, performs no dynamic type checking.
</summary>
<typeparam name="T">The type which the object will be cast to.</typeparam>
<param name="o">The object to cast.</param>
<returns>The original object, casted to the given type.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AsRef``1(System.Void*)">
<summary>
Reinterprets the given location as a reference to a value of type <typeparamref name="T"/>.
</summary>
<typeparam name="T">The type of the interpreted location.</typeparam>
<param name="source">The location of the value to reference.</param>
<returns>A reference to a value of type <typeparamref name="T"/>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AsRef``1(``0@)">
<summary>
Reinterprets the given read-only reference as a reference.
</summary>
<typeparam name="T">The type of reference.</typeparam>
<param name="source">The read-only reference to reinterpret.</param>
<returns>A reference to a value of type <typeparamref name="T"/>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.As``2(``0@)">
<summary>
Reinterprets the given reference as a reference to a value of type <typeparamref name="TTo"/>.
</summary>
<typeparam name="TFrom">The type of reference to reinterpret.</typeparam>
<typeparam name="TTo">The desired type of the reference.</typeparam>
<param name="source">The reference to reinterpret.</param>
<returns>A reference to a value of type <typeparamref name="TTo"/>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Unbox``1(System.Object)">
<summary>
Returns a reference to the value type contained with the specified box object.
</summary>
<typeparam name="T">The type of the value type contained within the box.</typeparam>
<param name="box">The boxed value type.</param>
<returns>A reference to a value of type <typeparamref name="T"/> in the box object.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(``0@,System.Int32)">
<summary>
Adds an element offset to the given reference.
</summary>
<typeparam name="T">The type of reference.</typeparam>
<param name="source">The reference to add the offset to.</param>
<param name="elementOffset">The offset to add.</param>
<returns>A new reference that reflects the addition of offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(System.Void*,System.Int32)">
<summary>
Adds an element offset to the given pointer.
</summary>
<typeparam name="T">The type of reference.</typeparam>
<param name="source">The pointer to add the offset to.</param>
<param name="elementOffset">The offset to add.</param>
<returns>A new pointer that reflects the addition of offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(``0@,System.IntPtr)">
<summary>
Adds an element offset to the given reference.
</summary>
<typeparam name="T">The type of reference.</typeparam>
<param name="source">The reference to add the offset to.</param>
<param name="elementOffset">The offset to add.</param>
<returns>A new reference that reflects the addition of offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(``0@,System.UIntPtr)">
<summary>
Adds an element offset to the given reference.
</summary>
<typeparam name="T">The type of reference.</typeparam>
<param name="source">The reference to add the offset to.</param>
<param name="elementOffset">The offset to add.</param>
<returns>A new reference that reflects the addition of offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AddByteOffset``1(``0@,System.IntPtr)">
<summary>
Adds a byte offset to the given reference.
</summary>
<typeparam name="T">The type of reference.</typeparam>
<param name="source">The reference to add the offset to.</param>
<param name="byteOffset">The offset to add.</param>
<returns>A new reference that reflects the addition of byte offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AddByteOffset``1(``0@,System.UIntPtr)">
<summary>
Adds a byte offset to the given reference.
</summary>
<typeparam name="T">The type of reference.</typeparam>
<param name="source">The reference to add the offset to.</param>
<param name="byteOffset">The offset to add.</param>
<returns>A new reference that reflects the addition of byte offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(``0@,System.Int32)">
<summary>
Subtracts an element offset from the given reference.
</summary>
<typeparam name="T">The type of reference.</typeparam>
<param name="source">The reference to subtract the offset from.</param>
<param name="elementOffset">The offset to subtract.</param>
<returns>A new reference that reflects the subraction of offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(``0@,System.IntPtr)">
<summary>
Subtracts an element offset from the given reference.
</summary>
<typeparam name="T">The type of reference.</typeparam>
<param name="source">The reference to subtract the offset from.</param>
<param name="elementOffset">The offset to subtract.</param>
<returns>A new reference that reflects the subraction of offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(``0@,System.UIntPtr)">
<summary>
Subtracts an element offset from the given reference.
</summary>
<typeparam name="T">The type of reference.</typeparam>
<param name="source">The reference to subtract the offset from.</param>
<param name="elementOffset">The offset to subtract.</param>
<returns>A new reference that reflects the subraction of offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.SubtractByteOffset``1(``0@,System.IntPtr)">
<summary>
Subtracts a byte offset from the given reference.
</summary>
<typeparam name="T">The type of reference.</typeparam>
<param name="source">The reference to subtract the offset from.</param>
<param name="byteOffset">The offset to subtract.</param>
<returns>A new reference that reflects the subraction of byte offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.SubtractByteOffset``1(``0@,System.UIntPtr)">
<summary>
Subtracts a byte offset from the given reference.
</summary>
<typeparam name="T">The type of reference.</typeparam>
<param name="source">The reference to subtract the offset from.</param>
<param name="byteOffset">The offset to subtract.</param>
<returns>A new reference that reflects the subraction of byte offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.ByteOffset``1(``0@,``0@)">
<summary>
Determines the byte offset from origin to target from the given references.
</summary>
<typeparam name="T">The type of reference.</typeparam>
<param name="origin">The reference to origin.</param>
<param name="target">The reference to target.</param>
<returns>Byte offset from origin to target i.e. <paramref name="target"/> - <paramref name="origin"/>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AreSame``1(``0@,``0@)">
<summary>
Determines whether the specified references point to the same location.
</summary>
<param name="left">The first reference to compare.</param>
<param name="right">The second reference to compare.</param>
<returns><c>true</c> if <paramref name="left"/> and <paramref name="right"/> point to the same location; otherwise <c>false</c>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.IsAddressGreaterThan``1(``0@,``0@)">
<summary>
Determines whether the memory address referenced by <paramref name="left"/> is greater than the memory address referenced by <paramref name="right"/>.
</summary>
<param name="left">The first reference to compare.</param>
<param name="right">The second reference to compare.</param>
<returns><c>true</c> if the memory address referenced by <paramref name="left"/> is greater than the memory address referenced by <paramref name="right"/>; otherwise <c>false</c>.</returns>
<remarks>
This check is conceptually similar to "(void*)(&amp;left) &gt; (void*)(&amp;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.
</remarks>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.IsAddressLessThan``1(``0@,``0@)">
<summary>
Determines whether the memory address referenced by <paramref name="left"/> is less than the memory address referenced by <paramref name="right"/>.
</summary>
<param name="left">The first reference to compare.</param>
<param name="right">The second reference to compare.</param>
<returns><c>true</c> if the memory address referenced by <paramref name="left"/> is less than the memory address referenced by <paramref name="right"/>; otherwise <c>false</c>.</returns>
<remarks>
This check is conceptually similar to "(void*)(&amp;left) &lt; (void*)(&amp;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.
</remarks>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.IsNullRef``1(``0@)">
<summary>
Returns if a given reference to a value of type <typeparamref name="T"/> is a null reference.
</summary>
<param name="source">The reference to check.</param>
<remarks>This check is conceptually similar to "(void*)(&amp;source) == nullptr".</remarks>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.NullRef``1">
<summary>
Returns a reference to a value of type <typeparamref name="T"/> that is a null reference.
</summary>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Void*,System.Void*,System.UInt32)">
<summary>
Copies bytes from the source address to the destination address.
</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Byte@,System.Byte@,System.UInt32)">
<summary>
Copies bytes from the source address to the destination address.
</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Void*,System.Void*,System.UInt32)">
<summary>
Copies bytes from the source address to the destination address
without assuming architecture dependent alignment of the addresses.
</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Byte@,System.Byte@,System.UInt32)">
<summary>
Copies bytes from the source address to the destination address
without assuming architecture dependent alignment of the addresses.
</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlock(System.Void*,System.Byte,System.UInt32)">
<summary>
Initializes a block of memory at the given location with a given initial value.
</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlock(System.Byte@,System.Byte,System.UInt32)">
<summary>
Initializes a block of memory at the given location with a given initial value.
</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Void*,System.Byte,System.UInt32)">
<summary>
Initializes a block of memory at the given location with a given initial value
without assuming architecture dependent alignment of the address.
</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Byte@,System.Byte,System.UInt32)">
<summary>
Initializes a block of memory at the given location with a given initial value
without assuming architecture dependent alignment of the address.
</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
</members>
</doc>

Binary file not shown.

View File

@ -0,0 +1,939 @@
<?xml version="1.0" encoding="utf-8"?>
<doc>
<assembly>
<name>System.Text.Encodings.Web</name>
</assembly>
<members>
<member name="T:System.Text.Encodings.Web.HtmlEncoder">
<summary>Represents an HTML character encoding.</summary>
</member>
<member name="M:System.Text.Encodings.Web.HtmlEncoder.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Text.Encodings.Web.HtmlEncoder" /> class.</summary>
</member>
<member name="M:System.Text.Encodings.Web.HtmlEncoder.Create(System.Text.Encodings.Web.TextEncoderSettings)">
<summary>Creates a new instance of the HtmlEncoder class with the specified settings.</summary>
<param name="settings">Settings that control how the <see cref="T:System.Text.Encodings.Web.HtmlEncoder" /> instance encodes, primarily which characters to encode.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="settings" /> is <see langword="null" />.</exception>
<returns>A new instance of the <see cref="T:System.Text.Encodings.Web.HtmlEncoder" /> class.</returns>
</member>
<member name="M:System.Text.Encodings.Web.HtmlEncoder.Create(System.Text.Unicode.UnicodeRange[])">
<summary>Creates a new instance of the HtmlEncoder class that specifies characters the encoder is allowed to not encode.</summary>
<param name="allowedRanges">The set of characters that the encoder is allowed to not encode.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="allowedRanges" /> is <see langword="null" />.</exception>
<returns>A new instance of the <see cref="T:System.Text.Encodings.Web.HtmlEncoder" /> class.</returns>
</member>
<member name="P:System.Text.Encodings.Web.HtmlEncoder.Default">
<summary>Gets a built-in instance of the <see cref="T:System.Text.Encodings.Web.HtmlEncoder" /> class.</summary>
<returns>A built-in instance of the <see cref="T:System.Text.Encodings.Web.HtmlEncoder" /> class.</returns>
</member>
<member name="T:System.Text.Encodings.Web.JavaScriptEncoder">
<summary>Represents a JavaScript character encoding.</summary>
</member>
<member name="M:System.Text.Encodings.Web.JavaScriptEncoder.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Text.Encodings.Web.JavaScriptEncoder" /> class.</summary>
</member>
<member name="M:System.Text.Encodings.Web.JavaScriptEncoder.Create(System.Text.Encodings.Web.TextEncoderSettings)">
<summary>Creates a new instance of JavaScriptEncoder class with the specified settings.</summary>
<param name="settings">Settings that control how the <see cref="T:System.Text.Encodings.Web.JavaScriptEncoder" /> instance encodes, primarily which characters to encode.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="settings" /> is <see langword="null" />.</exception>
<returns>A new instance of the <see cref="T:System.Text.Encodings.Web.JavaScriptEncoder" /> class.</returns>
</member>
<member name="M:System.Text.Encodings.Web.JavaScriptEncoder.Create(System.Text.Unicode.UnicodeRange[])">
<summary>Creates a new instance of the JavaScriptEncoder class that specifies characters the encoder is allowed to not encode.</summary>
<param name="allowedRanges">The set of characters that the encoder is allowed to not encode.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="allowedRanges" /> is <see langword="null" />.</exception>
<returns>A new instance of the <see cref="T:System.Text.Encodings.Web.JavaScriptEncoder" /> class.</returns>
</member>
<member name="P:System.Text.Encodings.Web.JavaScriptEncoder.Default">
<summary>Gets a built-in instance of the <see cref="T:System.Text.Encodings.Web.JavaScriptEncoder" /> class.</summary>
<returns>A built-in instance of the <see cref="T:System.Text.Encodings.Web.JavaScriptEncoder" /> class.</returns>
</member>
<member name="P:System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping">
<summary>Gets a built-in JavaScript encoder instance that is less strict about what is encoded.</summary>
<returns>A JavaScript encoder instance.</returns>
</member>
<member name="T:System.Text.Encodings.Web.TextEncoder">
<summary>The base class of web encoders.</summary>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Text.Encodings.Web.TextEncoder" /> class.</summary>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.Encode(System.IO.TextWriter,System.Char[],System.Int32,System.Int32)">
<summary>Encodes characters from an array and writes them to a <see cref="T:System.IO.TextWriter" /> object.</summary>
<param name="output">The stream to which to write the encoded text.</param>
<param name="value">The array of characters to encode.</param>
<param name="startIndex">The array index of the first character to encode.</param>
<param name="characterCount">The number of characters in the array to encode.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="output" /> is <see langword="null" />.</exception>
<exception cref="T:System.ArgumentException">The <see cref="M:System.Text.Encodings.Web.TextEncoder.TryEncodeUnicodeScalar(System.Int32,System.Char*,System.Int32,System.Int32@)" /> method failed. The encoder does not implement <see cref="P:System.Text.Encodings.Web.TextEncoder.MaxOutputCharactersPerInputCharacter" /> correctly.</exception>
<exception cref="T:System.ArgumentNullException">
<paramref name="value" /> is <see langword="null" />.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="startIndex" /> is out of range.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="characterCount" /> is out of range.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.Encode(System.IO.TextWriter,System.String,System.Int32,System.Int32)">
<summary>Encodes a substring and writes it to a <see cref="T:System.IO.TextWriter" /> object.</summary>
<param name="output">The stream to which to write the encoded text.</param>
<param name="value">The string whose substring is to be encoded.</param>
<param name="startIndex">The index where the substring starts.</param>
<param name="characterCount">The number of characters in the substring.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="output" /> is <see langword="null" />.</exception>
<exception cref="T:System.ArgumentException">The <see cref="M:System.Text.Encodings.Web.TextEncoder.TryEncodeUnicodeScalar(System.Int32,System.Char*,System.Int32,System.Int32@)" /> method failed. The encoder does not implement <see cref="P:System.Text.Encodings.Web.TextEncoder.MaxOutputCharactersPerInputCharacter" /> correctly.</exception>
<exception cref="T:System.ArgumentNullException">
<paramref name="value" /> is <see langword="null" />.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="startIndex" /> is out of range.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="characterCount" /> is out of range.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.Encode(System.IO.TextWriter,System.String)">
<summary>Encodes the specified string to a <see cref="T:System.IO.TextWriter" /> object.</summary>
<param name="output">The stream to which to write the encoded text.</param>
<param name="value">The string to encode.</param>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.Encode(System.ReadOnlySpan{System.Char},System.Span{System.Char},System.Int32@,System.Int32@,System.Boolean)">
<summary>Encodes the supplied characters.</summary>
<param name="source">A source buffer containing the characters to encode.</param>
<param name="destination">The destination buffer to which the encoded form of <paramref name="source" /> will be written.</param>
<param name="charsConsumed">The number of characters consumed from the <paramref name="source" /> buffer.</param>
<param name="charsWritten">The number of characters written to the <paramref name="destination" /> buffer.</param>
<param name="isFinalBlock">
<see langword="true" /> to indicate there is no further source data that needs to be encoded; otherwise, <see langword="false" />.</param>
<returns>An enumeration value that describes the result of the encoding operation.</returns>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.Encode(System.String)">
<summary>Encodes the supplied string and returns the encoded text as a new string.</summary>
<param name="value">The string to encode.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="value" /> is <see langword="null" />.</exception>
<exception cref="T:System.ArgumentException">The <see cref="M:System.Text.Encodings.Web.TextEncoder.TryEncodeUnicodeScalar(System.Int32,System.Char*,System.Int32,System.Int32@)" /> method failed. The encoder does not implement <see cref="P:System.Text.Encodings.Web.TextEncoder.MaxOutputCharactersPerInputCharacter" /> correctly.</exception>
<returns>The encoded string.</returns>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.EncodeUtf8(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@,System.Int32@,System.Boolean)">
<summary>Encodes the supplied UTF-8 text.</summary>
<param name="utf8Source">A source buffer containing the UTF-8 text to encode.</param>
<param name="utf8Destination">The destination buffer to which the encoded form of <paramref name="utf8Source" /> will be written.</param>
<param name="bytesConsumed">The number of bytes consumed from the <paramref name="utf8Source" /> buffer.</param>
<param name="bytesWritten">The number of bytes written to the <paramref name="utf8Destination" /> buffer.</param>
<param name="isFinalBlock">
<see langword="true" /> to indicate there is no further source data that needs to be encoded; otherwise, <see langword="false" />.</param>
<returns>A status code that describes the result of the encoding operation.</returns>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.FindFirstCharacterToEncode(System.Char*,System.Int32)">
<summary>Finds the index of the first character to encode.</summary>
<param name="text">The text buffer to search.</param>
<param name="textLength">The number of characters in <paramref name="text" />.</param>
<returns>The index of the first character to encode.</returns>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.FindFirstCharacterToEncodeUtf8(System.ReadOnlySpan{System.Byte})">
<summary>Finds the first element in a UTF-8 text input buffer that would be escaped by the current encoder instance.</summary>
<param name="utf8Text">The UTF-8 text input buffer to search.</param>
<returns>The index of the first element in <paramref name="utf8Text" /> that would be escaped by the current encoder instance, or -1 if no data in <paramref name="utf8Text" /> requires escaping.</returns>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.TryEncodeUnicodeScalar(System.Int32,System.Char*,System.Int32,System.Int32@)">
<summary>Encodes a Unicode scalar value and writes it to a buffer.</summary>
<param name="unicodeScalar">A Unicode scalar value.</param>
<param name="buffer">A pointer to the buffer to which to write the encoded text.</param>
<param name="bufferLength">The length of the destination <paramref name="buffer" /> in characters.</param>
<param name="numberOfCharactersWritten">When the method returns, indicates the number of characters written to the <paramref name="buffer" />.</param>
<returns>
<see langword="false" /> if <paramref name="bufferLength" /> is too small to fit the encoded text; otherwise, returns <see langword="true" />.</returns>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoder.WillEncode(System.Int32)">
<summary>Determines if a given Unicode scalar value will be encoded.</summary>
<param name="unicodeScalar">A Unicode scalar value.</param>
<returns>
<see langword="true" /> if the <paramref name="unicodeScalar" /> value will be encoded by this encoder; otherwise, returns <see langword="false" />.</returns>
</member>
<member name="P:System.Text.Encodings.Web.TextEncoder.MaxOutputCharactersPerInputCharacter">
<summary>Gets the maximum number of characters that this encoder can generate for each input code point.</summary>
<returns>The maximum number of characters.</returns>
</member>
<member name="T:System.Text.Encodings.Web.TextEncoderSettings">
<summary>Represents a filter that allows only certain Unicode code points.</summary>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.#ctor">
<summary>Instantiates an empty filter (allows no code points through by default).</summary>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.#ctor(System.Text.Encodings.Web.TextEncoderSettings)">
<summary>Instantiates a filter by cloning the allowed list of another <see cref="T:System.Text.Encodings.Web.TextEncoderSettings" /> object.</summary>
<param name="other">The other <see cref="T:System.Text.Encodings.Web.TextEncoderSettings" /> object to be cloned.</param>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.#ctor(System.Text.Unicode.UnicodeRange[])">
<summary>Instantiates a filter where only the character ranges specified by <paramref name="allowedRanges" /> are allowed by the filter.</summary>
<param name="allowedRanges">The allowed character ranges.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="allowedRanges" /> is <see langword="null" />.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.AllowCharacter(System.Char)">
<summary>Allows the character specified by <paramref name="character" /> through the filter.</summary>
<param name="character">The allowed character.</param>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.AllowCharacters(System.Char[])">
<summary>Allows all characters specified by <paramref name="characters" /> through the filter.</summary>
<param name="characters">The allowed characters.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="characters" /> is <see langword="null" />.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.AllowCodePoints(System.Collections.Generic.IEnumerable{System.Int32})">
<summary>Allows all code points specified by <paramref name="codePoints" />.</summary>
<param name="codePoints">The allowed code points.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="codePoints" /> is <see langword="null" />.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.AllowRange(System.Text.Unicode.UnicodeRange)">
<summary>Allows all characters specified by <paramref name="range" /> through the filter.</summary>
<param name="range">The range of characters to be allowed.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="range" /> is <see langword="null" />.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.AllowRanges(System.Text.Unicode.UnicodeRange[])">
<summary>Allows all characters specified by <paramref name="ranges" /> through the filter.</summary>
<param name="ranges">The ranges of characters to be allowed.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="ranges" /> is <see langword="null" />.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.Clear">
<summary>Resets this object by disallowing all characters.</summary>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.ForbidCharacter(System.Char)">
<summary>Disallows the character <paramref name="character" /> through the filter.</summary>
<param name="character">The disallowed character.</param>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.ForbidCharacters(System.Char[])">
<summary>Disallows all characters specified by <paramref name="characters" /> through the filter.</summary>
<param name="characters">The disallowed characters.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="characters" /> is <see langword="null" />.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.ForbidRange(System.Text.Unicode.UnicodeRange)">
<summary>Disallows all characters specified by <paramref name="range" /> through the filter.</summary>
<param name="range">The range of characters to be disallowed.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="range" /> is <see langword="null" />.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.ForbidRanges(System.Text.Unicode.UnicodeRange[])">
<summary>Disallows all characters specified by <paramref name="ranges" /> through the filter.</summary>
<param name="ranges">The ranges of characters to be disallowed.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="ranges" /> is <see langword="null" />.</exception>
</member>
<member name="M:System.Text.Encodings.Web.TextEncoderSettings.GetAllowedCodePoints">
<summary>Gets an enumerator of all allowed code points.</summary>
<returns>The enumerator of allowed code points.</returns>
</member>
<member name="T:System.Text.Encodings.Web.UrlEncoder">
<summary>Represents a URL character encoding.</summary>
</member>
<member name="M:System.Text.Encodings.Web.UrlEncoder.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Text.Encodings.Web.UrlEncoder" /> class.</summary>
</member>
<member name="M:System.Text.Encodings.Web.UrlEncoder.Create(System.Text.Encodings.Web.TextEncoderSettings)">
<summary>Creates a new instance of UrlEncoder class with the specified settings.</summary>
<param name="settings">Settings that control how the <see cref="T:System.Text.Encodings.Web.UrlEncoder" /> instance encodes, primarily which characters to encode.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="settings" /> is <see langword="null" />.</exception>
<returns>A new instance of the <see cref="T:System.Text.Encodings.Web.UrlEncoder" /> class.</returns>
</member>
<member name="M:System.Text.Encodings.Web.UrlEncoder.Create(System.Text.Unicode.UnicodeRange[])">
<summary>Creates a new instance of the UrlEncoder class that specifies characters the encoder is allowed to not encode.</summary>
<param name="allowedRanges">The set of characters that the encoder is allowed to not encode.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="allowedRanges" /> is <see langword="null" />.</exception>
<returns>A new instance of the <see cref="T:System.Text.Encodings.Web.UrlEncoder" /> class.</returns>
</member>
<member name="P:System.Text.Encodings.Web.UrlEncoder.Default">
<summary>Gets a built-in instance of the <see cref="T:System.Text.Encodings.Web.UrlEncoder" /> class.</summary>
<returns>A built-in instance of the <see cref="T:System.Text.Encodings.Web.UrlEncoder" /> class.</returns>
</member>
<member name="T:System.Text.Unicode.UnicodeRange">
<summary>Represents a contiguous range of Unicode code points.</summary>
</member>
<member name="M:System.Text.Unicode.UnicodeRange.#ctor(System.Int32,System.Int32)">
<summary>Creates a new <see cref="T:System.Text.Unicode.UnicodeRange" /> that includes a specified number of characters starting at a specified Unicode code point.</summary>
<param name="firstCodePoint">The first code point in the range.</param>
<param name="length">The number of code points in the range.</param>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="firstCodePoint" /> is less than zero or greater than 0xFFFF.
-or-
<paramref name="length" /> is less than zero.
-or-
<paramref name="firstCodePoint" /> plus <paramref name="length" /> is greater than 0xFFFF.</exception>
</member>
<member name="M:System.Text.Unicode.UnicodeRange.Create(System.Char,System.Char)">
<summary>Creates a new <see cref="T:System.Text.Unicode.UnicodeRange" /> instance from a span of characters.</summary>
<param name="firstCharacter">The first character in the range.</param>
<param name="lastCharacter">The last character in the range.</param>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="lastCharacter" /> precedes <paramref name="firstCharacter" />.</exception>
<returns>A range that includes all characters between <paramref name="firstCharacter" /> and <paramref name="lastCharacter" />.</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRange.FirstCodePoint">
<summary>Gets the first code point in the range represented by this <see cref="T:System.Text.Unicode.UnicodeRange" /> instance.</summary>
<returns>The first code point in the range.</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRange.Length">
<summary>Gets the number of code points in the range represented by this <see cref="T:System.Text.Unicode.UnicodeRange" /> instance.</summary>
<returns>The number of code points in the range.</returns>
</member>
<member name="T:System.Text.Unicode.UnicodeRanges">
<summary>Provides static properties that return predefined <see cref="T:System.Text.Unicode.UnicodeRange" /> instances that correspond to blocks from the Unicode specification.</summary>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.All">
<summary>Gets a range that consists of the entire Basic Multilingual Plane (BMP), from U+0000 to U+FFFF).</summary>
<returns>A range that consists of the entire BMP.</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.AlphabeticPresentationForms">
<summary>Gets the Alphabetic Presentation Forms Unicode block (U+FB00-U+FB4F).</summary>
<returns>The Alphabetic Presentation Forms Unicode block (U+FB00-U+FB4F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Arabic">
<summary>Gets the Arabic Unicode block (U+0600-U+06FF).</summary>
<returns>The Arabic Unicode block (U+0600-U+06FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.ArabicExtendedA">
<summary>Gets the Arabic Extended-A Unicode block (U+08A0-U+08FF).</summary>
<returns>The Arabic Extended-A Unicode block (U+08A0-U+08FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.ArabicExtendedB">
<summary>A <see cref="T:System.Text.Unicode.UnicodeRange" /> corresponding to the 'Arabic Extended-B' Unicode block (U+0870..U+089F).</summary>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.ArabicPresentationFormsA">
<summary>Gets the Arabic Presentation Forms-A Unicode block (U+FB50-U+FDFF).</summary>
<returns>The Arabic Presentation Forms-A Unicode block (U+FB50-U+FDFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.ArabicPresentationFormsB">
<summary>Gets the Arabic Presentation Forms-B Unicode block (U+FE70-U+FEFF).</summary>
<returns>The Arabic Presentation Forms-B Unicode block (U+FE70-U+FEFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.ArabicSupplement">
<summary>Gets the Arabic Supplement Unicode block (U+0750-U+077F).</summary>
<returns>The Arabic Supplement Unicode block (U+0750-U+077F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Armenian">
<summary>Gets the Armenian Unicode block (U+0530-U+058F).</summary>
<returns>The Armenian Unicode block (U+0530-U+058F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Arrows">
<summary>Gets the Arrows Unicode block (U+2190-U+21FF).</summary>
<returns>The Arrows Unicode block (U+2190-U+21FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Balinese">
<summary>Gets the Balinese Unicode block (U+1B00-U+1B7F).</summary>
<returns>The Balinese Unicode block (U+1B00-U+1B7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Bamum">
<summary>Gets the Bamum Unicode block (U+A6A0-U+A6FF).</summary>
<returns>The Bamum Unicode block (U+A6A0-U+A6FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.BasicLatin">
<summary>Gets the Basic Latin Unicode block (U+0000-U+007F).</summary>
<returns>The Basic Latin Unicode block (U+0000-U+007F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Batak">
<summary>Gets the Batak Unicode block (U+1BC0-U+1BFF).</summary>
<returns>The Batak Unicode block (U+1BC0-U+1BFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Bengali">
<summary>Gets the Bengali Unicode block (U+0980-U+09FF).</summary>
<returns>The Bengali Unicode block (U+0980-U+09FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.BlockElements">
<summary>Gets the Block Elements Unicode block (U+2580-U+259F).</summary>
<returns>The Block Elements Unicode block (U+2580-U+259F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Bopomofo">
<summary>Gets the Bopomofo Unicode block (U+3100-U+312F).</summary>
<returns>The Bopomofo Unicode block (U+3105-U+312F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.BopomofoExtended">
<summary>Gets the Bopomofo Extended Unicode block (U+31A0-U+31BF).</summary>
<returns>The Bopomofo Extended Unicode block (U+31A0-U+31BF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.BoxDrawing">
<summary>Gets the Box Drawing Unicode block (U+2500-U+257F).</summary>
<returns>The Box Drawing Unicode block (U+2500-U+257F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.BraillePatterns">
<summary>Gets the Braille Patterns Unicode block (U+2800-U+28FF).</summary>
<returns>The Braille Patterns Unicode block (U+2800-U+28FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Buginese">
<summary>Gets the Buginese Unicode block (U+1A00-U+1A1F).</summary>
<returns>The Buginese Unicode block (U+1A00-U+1A1F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Buhid">
<summary>Gets the Buhid Unicode block (U+1740-U+175F).</summary>
<returns>The Buhid Unicode block (U+1740-U+175F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Cham">
<summary>Gets the Cham Unicode block (U+AA00-U+AA5F).</summary>
<returns>The Cham Unicode block (U+AA00-U+AA5F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Cherokee">
<summary>Gets the Cherokee Unicode block (U+13A0-U+13FF).</summary>
<returns>The Cherokee Unicode block (U+13A0-U+13FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CherokeeSupplement">
<summary>Gets the Cherokee Supplement Unicode block (U+AB70-U+ABBF).</summary>
<returns>The Cherokee Supplement Unicode block (U+AB70-U+ABBF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CjkCompatibility">
<summary>Gets the CJK Compatibility Unicode block (U+3300-U+33FF).</summary>
<returns>The CJK Compatibility Unicode block (U+3300-U+33FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CjkCompatibilityForms">
<summary>Gets the CJK Compatibility Forms Unicode block (U+FE30-U+FE4F).</summary>
<returns>The CJK Compatibility Forms Unicode block (U+FE30-U+FE4F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CjkCompatibilityIdeographs">
<summary>Gets the CJK Compatibility Ideographs Unicode block (U+F900-U+FAD9).</summary>
<returns>The CJK Compatibility Ideographs Unicode block (U+F900-U+FAD9).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CjkRadicalsSupplement">
<summary>Gets the CJK Radicals Supplement Unicode block (U+2E80-U+2EFF).</summary>
<returns>The CJK Radicals Supplement Unicode block (U+2E80-U+2EFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CjkStrokes">
<summary>Gets the CJK Strokes Unicode block (U+31C0-U+31EF).</summary>
<returns>The CJK Strokes Unicode block (U+31C0-U+31EF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CjkSymbolsandPunctuation">
<summary>Gets the CJK Symbols and Punctuation Unicode block (U+3000-U+303F).</summary>
<returns>The CJK Symbols and Punctuation Unicode block (U+3000-U+303F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CjkUnifiedIdeographs">
<summary>Gets the CJK Unified Ideographs Unicode block (U+4E00-U+9FCC).</summary>
<returns>The CJK Unified Ideographs Unicode block (U+4E00-U+9FCC).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CjkUnifiedIdeographsExtensionA">
<summary>Gets the CJK Unitied Ideographs Extension A Unicode block (U+3400-U+4DB5).</summary>
<returns>The CJK Unitied Ideographs Extension A Unicode block (U+3400-U+4DB5).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CombiningDiacriticalMarks">
<summary>Gets the Combining Diacritical Marks Unicode block (U+0300-U+036F).</summary>
<returns>The Combining Diacritical Marks Unicode block (U+0300-U+036F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CombiningDiacriticalMarksExtended">
<summary>Gets the Combining Diacritical Marks Extended Unicode block (U+1AB0-U+1AFF).</summary>
<returns>The Combining Diacritical Marks Extended Unicode block (U+1AB0-U+1AFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CombiningDiacriticalMarksforSymbols">
<summary>Gets the Combining Diacritical Marks for Symbols Unicode block (U+20D0-U+20FF).</summary>
<returns>The Combining Diacritical Marks for Symbols Unicode block (U+20D0-U+20FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CombiningDiacriticalMarksSupplement">
<summary>Gets the Combining Diacritical Marks Supplement Unicode block (U+1DC0-U+1DFF).</summary>
<returns>The Combining Diacritical Marks Supplement Unicode block (U+1DC0-U+1DFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CombiningHalfMarks">
<summary>Gets the Combining Half Marks Unicode block (U+FE20-U+FE2F).</summary>
<returns>The Combining Half Marks Unicode block (U+FE20-U+FE2F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CommonIndicNumberForms">
<summary>Gets the Common Indic Number Forms Unicode block (U+A830-U+A83F).</summary>
<returns>The Common Indic Number Forms Unicode block (U+A830-U+A83F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.ControlPictures">
<summary>Gets the Control Pictures Unicode block (U+2400-U+243F).</summary>
<returns>The Control Pictures Unicode block (U+2400-U+243F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Coptic">
<summary>Gets the Coptic Unicode block (U+2C80-U+2CFF).</summary>
<returns>The Coptic Unicode block (U+2C80-U+2CFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CurrencySymbols">
<summary>Gets the Currency Symbols Unicode block (U+20A0-U+20CF).</summary>
<returns>The Currency Symbols Unicode block (U+20A0-U+20CF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Cyrillic">
<summary>Gets the Cyrillic Unicode block (U+0400-U+04FF).</summary>
<returns>The Cyrillic Unicode block (U+0400-U+04FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CyrillicExtendedA">
<summary>Gets the Cyrillic Extended-A Unicode block (U+2DE0-U+2DFF).</summary>
<returns>The Cyrillic Extended-A Unicode block (U+2DE0-U+2DFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CyrillicExtendedB">
<summary>Gets the Cyrillic Extended-B Unicode block (U+A640-U+A69F).</summary>
<returns>The Cyrillic Extended-B Unicode block (U+A640-U+A69F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CyrillicExtendedC">
<summary>A <see cref="T:System.Text.Unicode.UnicodeRange" /> corresponding to the 'Cyrillic Extended-C' Unicode block (U+1C80..U+1C8F).</summary>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.CyrillicSupplement">
<summary>Gets the Cyrillic Supplement Unicode block (U+0500-U+052F).</summary>
<returns>The Cyrillic Supplement Unicode block (U+0500-U+052F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Devanagari">
<summary>Gets the Devangari Unicode block (U+0900-U+097F).</summary>
<returns>The Devangari Unicode block (U+0900-U+097F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.DevanagariExtended">
<summary>Gets the Devanagari Extended Unicode block (U+A8E0-U+A8FF).</summary>
<returns>The Devanagari Extended Unicode block (U+A8E0-U+A8FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Dingbats">
<summary>Gets the Dingbats Unicode block (U+2700-U+27BF).</summary>
<returns>The Dingbats Unicode block (U+2700-U+27BF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.EnclosedAlphanumerics">
<summary>Gets the Enclosed Alphanumerics Unicode block (U+2460-U+24FF).</summary>
<returns>The Enclosed Alphanumerics Unicode block (U+2460-U+24FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.EnclosedCjkLettersandMonths">
<summary>Gets the Enclosed CJK Letters and Months Unicode block (U+3200-U+32FF).</summary>
<returns>The Enclosed CJK Letters and Months Unicode block (U+3200-U+32FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Ethiopic">
<summary>Gets the Ethiopic Unicode block (U+1200-U+137C).</summary>
<returns>The Ethiopic Unicode block (U+1200-U+137C).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.EthiopicExtended">
<summary>Gets the Ethipic Extended Unicode block (U+2D80-U+2DDF).</summary>
<returns>The Ethipic Extended Unicode block (U+2D80-U+2DDF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.EthiopicExtendedA">
<summary>Gets the Ethiopic Extended-A Unicode block (U+AB00-U+AB2F).</summary>
<returns>The Ethiopic Extended-A Unicode block (U+AB00-U+AB2F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.EthiopicSupplement">
<summary>Gets the Ethiopic Supplement Unicode block (U+1380-U+1399).</summary>
<returns>The Ethiopic Supplement Unicode block (U+1380-U+1399).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.GeneralPunctuation">
<summary>Gets the General Punctuation Unicode block (U+2000-U+206F).</summary>
<returns>The General Punctuation Unicode block (U+2000-U+206F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.GeometricShapes">
<summary>Gets the Geometric Shapes Unicode block (U+25A0-U+25FF).</summary>
<returns>The Geometric Shapes Unicode block (U+25A0-U+25FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Georgian">
<summary>Gets the Georgian Unicode block (U+10A0-U+10FF).</summary>
<returns>The Georgian Unicode block (U+10A0-U+10FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.GeorgianExtended">
<summary>A <see cref="T:System.Text.Unicode.UnicodeRange" /> corresponding to the 'Georgian Extended' Unicode block (U+1C90..U+1CBF).</summary>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.GeorgianSupplement">
<summary>Gets the Georgian Supplement Unicode block (U+2D00-U+2D2F).</summary>
<returns>The Georgian Supplement Unicode block (U+2D00-U+2D2F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Glagolitic">
<summary>Gets the Glagolitic Unicode block (U+2C00-U+2C5F).</summary>
<returns>The Glagolitic Unicode block (U+2C00-U+2C5F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.GreekandCoptic">
<summary>Gets the Greek and Coptic Unicode block (U+0370-U+03FF).</summary>
<returns>The Greek and Coptic Unicode block (U+0370-U+03FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.GreekExtended">
<summary>Gets the Greek Extended Unicode block (U+1F00-U+1FFF).</summary>
<returns>The Greek Extended Unicode block (U+1F00-U+1FFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Gujarati">
<summary>Gets the Gujarti Unicode block (U+0A81-U+0AFF).</summary>
<returns>The Gujarti Unicode block (U+0A81-U+0AFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Gurmukhi">
<summary>Gets the Gurmukhi Unicode block (U+0A01-U+0A7F).</summary>
<returns>The Gurmukhi Unicode block (U+0A01-U+0A7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.HalfwidthandFullwidthForms">
<summary>Gets the Halfwidth and Fullwidth Forms Unicode block (U+FF00-U+FFEE).</summary>
<returns>The Halfwidth and Fullwidth Forms Unicode block (U+FF00-U+FFEE).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.HangulCompatibilityJamo">
<summary>Gets the Hangul Compatibility Jamo Unicode block (U+3131-U+318F).</summary>
<returns>The Hangul Compatibility Jamo Unicode block (U+3131-U+318F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.HangulJamo">
<summary>Gets the Hangul Jamo Unicode block (U+1100-U+11FF).</summary>
<returns>The Hangul Jamo Unicode block (U+1100-U+11FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.HangulJamoExtendedA">
<summary>Gets the Hangul Jamo Extended-A Unicode block (U+A960-U+A9F).</summary>
<returns>The Hangul Jamo Extended-A Unicode block (U+A960-U+A97F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.HangulJamoExtendedB">
<summary>Gets the Hangul Jamo Extended-B Unicode block (U+D7B0-U+D7FF).</summary>
<returns>The Hangul Jamo Extended-B Unicode block (U+D7B0-U+D7FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.HangulSyllables">
<summary>Gets the Hangul Syllables Unicode block (U+AC00-U+D7AF).</summary>
<returns>The Hangul Syllables Unicode block (U+AC00-U+D7AF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Hanunoo">
<summary>Gets the Hanunoo Unicode block (U+1720-U+173F).</summary>
<returns>The Hanunoo Unicode block (U+1720-U+173F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Hebrew">
<summary>Gets the Hebrew Unicode block (U+0590-U+05FF).</summary>
<returns>The Hebrew Unicode block (U+0590-U+05FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Hiragana">
<summary>Gets the Hiragana Unicode block (U+3040-U+309F).</summary>
<returns>The Hiragana Unicode block (U+3040-U+309F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.IdeographicDescriptionCharacters">
<summary>Gets the Ideographic Description Characters Unicode block (U+2FF0-U+2FFF).</summary>
<returns>The Ideographic Description Characters Unicode block (U+2FF0-U+2FFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.IpaExtensions">
<summary>Gets the IPA Extensions Unicode block (U+0250-U+02AF).</summary>
<returns>The IPA Extensions Unicode block (U+0250-U+02AF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Javanese">
<summary>Gets the Javanese Unicode block (U+A980-U+A9DF).</summary>
<returns>The Javanese Unicode block (U+A980-U+A9DF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Kanbun">
<summary>Gets the Kanbun Unicode block (U+3190-U+319F).</summary>
<returns>The Kanbun Unicode block (U+3190-U+319F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.KangxiRadicals">
<summary>Gets the Kangxi Radicals Supplement Unicode block (U+2F00-U+2FDF).</summary>
<returns>The Kangxi Radicals Supplement Unicode block (U+2F00-U+2FDF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Kannada">
<summary>Gets the Kannada Unicode block (U+0C81-U+0CFF).</summary>
<returns>The Kannada Unicode block (U+0C81-U+0CFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Katakana">
<summary>Gets the Katakana Unicode block (U+30A0-U+30FF).</summary>
<returns>The Katakana Unicode block (U+30A0-U+30FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.KatakanaPhoneticExtensions">
<summary>Gets the Katakana Phonetic Extensions Unicode block (U+31F0-U+31FF).</summary>
<returns>The Katakana Phonetic Extensions Unicode block (U+31F0-U+31FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.KayahLi">
<summary>Gets the Kayah Li Unicode block (U+A900-U+A92F).</summary>
<returns>The Kayah Li Unicode block (U+A900-U+A92F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Khmer">
<summary>Gets the Khmer Unicode block (U+1780-U+17FF).</summary>
<returns>The Khmer Unicode block (U+1780-U+17FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.KhmerSymbols">
<summary>Gets the Khmer Symbols Unicode block (U+19E0-U+19FF).</summary>
<returns>The Khmer Symbols Unicode block (U+19E0-U+19FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Lao">
<summary>Gets the Lao Unicode block (U+0E80-U+0EDF).</summary>
<returns>The Lao Unicode block (U+0E80-U+0EDF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Latin1Supplement">
<summary>Gets the Latin-1 Supplement Unicode block (U+0080-U+00FF).</summary>
<returns>The Latin-1 Supplement Unicode block (U+0080-U+00FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.LatinExtendedA">
<summary>Gets the Latin Extended-A Unicode block (U+0100-U+017F).</summary>
<returns>The Latin Extended-A Unicode block (U+0100-U+017F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.LatinExtendedAdditional">
<summary>Gets the Latin Extended Additional Unicode block (U+1E00-U+1EFF).</summary>
<returns>The Latin Extended Additional Unicode block (U+1E00-U+1EFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.LatinExtendedB">
<summary>Gets the Latin Extended-B Unicode block (U+0180-U+024F).</summary>
<returns>The Latin Extended-B Unicode block (U+0180-U+024F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.LatinExtendedC">
<summary>Gets the Latin Extended-C Unicode block (U+2C60-U+2C7F).</summary>
<returns>The Latin Extended-C Unicode block (U+2C60-U+2C7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.LatinExtendedD">
<summary>Gets the Latin Extended-D Unicode block (U+A720-U+A7FF).</summary>
<returns>The Latin Extended-D Unicode block (U+A720-U+A7FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.LatinExtendedE">
<summary>Gets the Latin Extended-E Unicode block (U+AB30-U+AB6F).</summary>
<returns>The Latin Extended-E Unicode block (U+AB30-U+AB6F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Lepcha">
<summary>Gets the Lepcha Unicode block (U+1C00-U+1C4F).</summary>
<returns>The Lepcha Unicode block (U+1C00-U+1C4F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.LetterlikeSymbols">
<summary>Gets the Letterlike Symbols Unicode block (U+2100-U+214F).</summary>
<returns>The Letterlike Symbols Unicode block (U+2100-U+214F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Limbu">
<summary>Gets the Limbu Unicode block (U+1900-U+194F).</summary>
<returns>The Limbu Unicode block (U+1900-U+194F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Lisu">
<summary>Gets the Lisu Unicode block (U+A4D0-U+A4FF).</summary>
<returns>The Lisu Unicode block (U+A4D0-U+A4FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Malayalam">
<summary>Gets the Malayalam Unicode block (U+0D00-U+0D7F).</summary>
<returns>The Malayalam Unicode block (U+0D00-U+0D7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Mandaic">
<summary>Gets the Mandaic Unicode block (U+0840-U+085F).</summary>
<returns>The Mandaic Unicode block (U+0840-U+085F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MathematicalOperators">
<summary>Gets the Mathematical Operators Unicode block (U+2200-U+22FF).</summary>
<returns>The Mathematical Operators Unicode block (U+2200-U+22FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MeeteiMayek">
<summary>Gets the Meetei Mayek Unicode block (U+ABC0-U+ABFF).</summary>
<returns>The Meetei Mayek Unicode block (U+ABC0-U+ABFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MeeteiMayekExtensions">
<summary>Gets the Meetei Mayek Extensions Unicode block (U+AAE0-U+AAFF).</summary>
<returns>The Meetei Mayek Extensions Unicode block (U+AAE0-U+AAFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MiscellaneousMathematicalSymbolsA">
<summary>Gets the Miscellaneous Mathematical Symbols-A Unicode block (U+27C0-U+27EF).</summary>
<returns>The Miscellaneous Mathematical Symbols-A Unicode block (U+27C0-U+27EF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MiscellaneousMathematicalSymbolsB">
<summary>Gets the Miscellaneous Mathematical Symbols-B Unicode block (U+2980-U+29FF).</summary>
<returns>The Miscellaneous Mathematical Symbols-B Unicode block (U+2980-U+29FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MiscellaneousSymbols">
<summary>Gets the Miscellaneous Symbols Unicode block (U+2600-U+26FF).</summary>
<returns>The Miscellaneous Symbols Unicode block (U+2600-U+26FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MiscellaneousSymbolsandArrows">
<summary>Gets the Miscellaneous Symbols and Arrows Unicode block (U+2B00-U+2BFF).</summary>
<returns>The Miscellaneous Symbols and Arrows Unicode block (U+2B00-U+2BFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MiscellaneousTechnical">
<summary>Gets the Miscellaneous Technical Unicode block (U+2300-U+23FF).</summary>
<returns>The Miscellaneous Technical Unicode block (U+2300-U+23FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.ModifierToneLetters">
<summary>Gets the Modifier Tone Letters Unicode block (U+A700-U+A71F).</summary>
<returns>The Modifier Tone Letters Unicode block (U+A700-U+A71F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Mongolian">
<summary>Gets the Mongolian Unicode block (U+1800-U+18AF).</summary>
<returns>The Mongolian Unicode block (U+1800-U+18AF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Myanmar">
<summary>Gets the Myanmar Unicode block (U+1000-U+109F).</summary>
<returns>The Myanmar Unicode block (U+1000-U+109F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MyanmarExtendedA">
<summary>Gets the Myanmar Extended-A Unicode block (U+AA60-U+AA7F).</summary>
<returns>The Myanmar Extended-A Unicode block (U+AA60-U+AA7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.MyanmarExtendedB">
<summary>Gets the Myanmar Extended-B Unicode block (U+A9E0-U+A9FF).</summary>
<returns>The Myanmar Extended-B Unicode block (U+A9E0-U+A9FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.NewTaiLue">
<summary>Gets the New Tai Lue Unicode block (U+1980-U+19DF).</summary>
<returns>The New Tai Lue Unicode block (U+1980-U+19DF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.NKo">
<summary>Gets the NKo Unicode block (U+07C0-U+07FF).</summary>
<returns>The NKo Unicode block (U+07C0-U+07FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.None">
<summary>Gets an empty Unicode range.</summary>
<returns>A Unicode range with no elements.</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.NumberForms">
<summary>Gets the Number Forms Unicode block (U+2150-U+218F).</summary>
<returns>The Number Forms Unicode block (U+2150-U+218F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Ogham">
<summary>Gets the Ogham Unicode block (U+1680-U+169F).</summary>
<returns>The Ogham Unicode block (U+1680-U+169F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.OlChiki">
<summary>Gets the Ol Chiki Unicode block (U+1C50-U+1C7F).</summary>
<returns>The Ol Chiki Unicode block (U+1C50-U+1C7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.OpticalCharacterRecognition">
<summary>Gets the Optical Character Recognition Unicode block (U+2440-U+245F).</summary>
<returns>The Optical Character Recognition Unicode block (U+2440-U+245F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Oriya">
<summary>Gets the Oriya Unicode block (U+0B00-U+0B7F).</summary>
<returns>The Oriya Unicode block (U+0B00-U+0B7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Phagspa">
<summary>Gets the Phags-pa Unicode block (U+A840-U+A87F).</summary>
<returns>The Phags-pa Unicode block (U+A840-U+A87F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.PhoneticExtensions">
<summary>Gets the Phonetic Extensions Unicode block (U+1D00-U+1D7F).</summary>
<returns>The Phonetic Extensions Unicode block (U+1D00-U+1D7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.PhoneticExtensionsSupplement">
<summary>Gets the Phonetic Extensions Supplement Unicode block (U+1D80-U+1DBF).</summary>
<returns>The Phonetic Extensions Supplement Unicode block (U+1D80-U+1DBF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Rejang">
<summary>Gets the Rejang Unicode block (U+A930-U+A95F).</summary>
<returns>The Rejang Unicode block (U+A930-U+A95F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Runic">
<summary>Gets the Runic Unicode block (U+16A0-U+16FF).</summary>
<returns>The Runic Unicode block (U+16A0-U+16FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Samaritan">
<summary>Gets the Samaritan Unicode block (U+0800-U+083F).</summary>
<returns>The Samaritan Unicode block (U+0800-U+083F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Saurashtra">
<summary>Gets the Saurashtra Unicode block (U+A880-U+A8DF).</summary>
<returns>The Saurashtra Unicode block (U+A880-U+A8DF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Sinhala">
<summary>Gets the Sinhala Unicode block (U+0D80-U+0DFF).</summary>
<returns>The Sinhala Unicode block (U+0D80-U+0DFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SmallFormVariants">
<summary>Gets the Small Form Variants Unicode block (U+FE50-U+FE6F).</summary>
<returns>The Small Form Variants Unicode block (U+FE50-U+FE6F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SpacingModifierLetters">
<summary>Gets the Spacing Modifier Letters Unicode block (U+02B0-U+02FF).</summary>
<returns>The Spacing Modifier Letters Unicode block (U+02B0-U+02FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Specials">
<summary>Gets the Specials Unicode block (U+FFF0-U+FFFF).</summary>
<returns>The Specials Unicode block (U+FFF0-U+FFFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Sundanese">
<summary>Gets the Sundanese Unicode block (U+1B80-U+1BBF).</summary>
<returns>The Sundanese Unicode block (U+1B80-U+1BBF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SundaneseSupplement">
<summary>Gets the Sundanese Supplement Unicode block (U+1CC0-U+1CCF).</summary>
<returns>The Sundanese Supplement Unicode block (U+1CC0-U+1CCF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SuperscriptsandSubscripts">
<summary>Gets the Superscripts and Subscripts Unicode block (U+2070-U+209F).</summary>
<returns>The Superscripts and Subscripts Unicode block (U+2070-U+209F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SupplementalArrowsA">
<summary>Gets the Supplemental Arrows-A Unicode block (U+27F0-U+27FF).</summary>
<returns>The Supplemental Arrows-A Unicode block (U+27F0-U+27FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SupplementalArrowsB">
<summary>Gets the Supplemental Arrows-B Unicode block (U+2900-U+297F).</summary>
<returns>The Supplemental Arrows-B Unicode block (U+2900-U+297F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SupplementalMathematicalOperators">
<summary>Gets the Supplemental Mathematical Operators Unicode block (U+2A00-U+2AFF).</summary>
<returns>The Supplemental Mathematical Operators Unicode block (U+2A00-U+2AFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SupplementalPunctuation">
<summary>Gets the Supplemental Punctuation Unicode block (U+2E00-U+2E7F).</summary>
<returns>The Supplemental Punctuation Unicode block (U+2E00-U+2E7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SylotiNagri">
<summary>Gets the Syloti Nagri Unicode block (U+A800-U+A82F).</summary>
<returns>The Syloti Nagri Unicode block (U+A800-U+A82F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Syriac">
<summary>Gets the Syriac Unicode block (U+0700-U+074F).</summary>
<returns>The Syriac Unicode block (U+0700-U+074F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.SyriacSupplement">
<summary>A <see cref="T:System.Text.Unicode.UnicodeRange" /> corresponding to the 'Syriac Supplement' Unicode block (U+0860..U+086F).</summary>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Tagalog">
<summary>Gets the Tagalog Unicode block (U+1700-U+171F).</summary>
<returns>The Tagalog Unicode block (U+1700-U+171F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Tagbanwa">
<summary>Gets the Tagbanwa Unicode block (U+1760-U+177F).</summary>
<returns>The Tagbanwa Unicode block (U+1760-U+177F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.TaiLe">
<summary>Gets the Tai Le Unicode block (U+1950-U+197F).</summary>
<returns>The Tai Le Unicode block (U+1950-U+197F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.TaiTham">
<summary>Gets the Tai Tham Unicode block (U+1A20-U+1AAF).</summary>
<returns>The Tai Tham Unicode block (U+1A20-U+1AAF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.TaiViet">
<summary>Gets the Tai Viet Unicode block (U+AA80-U+AADF).</summary>
<returns>The Tai Viet Unicode block (U+AA80-U+AADF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Tamil">
<summary>Gets the Tamil Unicode block (U+0B80-U+0BFF).</summary>
<returns>The Tamil Unicode block (U+0B82-U+0BFA).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Telugu">
<summary>Gets the Telugu Unicode block (U+0C00-U+0C7F).</summary>
<returns>The Telugu Unicode block (U+0C00-U+0C7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Thaana">
<summary>Gets the Thaana Unicode block (U+0780-U+07BF).</summary>
<returns>The Thaana Unicode block (U+0780-U+07BF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Thai">
<summary>Gets the Thai Unicode block (U+0E00-U+0E7F).</summary>
<returns>The Thai Unicode block (U+0E00-U+0E7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Tibetan">
<summary>Gets the Tibetan Unicode block (U+0F00-U+0FFF).</summary>
<returns>The Tibetan Unicode block (U+0F00-U+0FFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Tifinagh">
<summary>Gets the Tifinagh Unicode block (U+2D30-U+2D7F).</summary>
<returns>The Tifinagh Unicode block (U+2D30-U+2D7F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.UnifiedCanadianAboriginalSyllabics">
<summary>Gets the Unified Canadian Aboriginal Syllabics Unicode block (U+1400-U+167F).</summary>
<returns>The Unified Canadian Aboriginal Syllabics Unicode block (U+1400-U+167F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.UnifiedCanadianAboriginalSyllabicsExtended">
<summary>Gets the Unified Canadian Aboriginal Syllabics Extended Unicode block (U+18B0-U+18FF).</summary>
<returns>The Unified Canadian Aboriginal Syllabics Extended Unicode block (U+18B0-U+18FF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.Vai">
<summary>Gets the Vai Unicode block (U+A500-U+A63F).</summary>
<returns>The Vai Unicode block (U+A500-U+A63F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.VariationSelectors">
<summary>Gets the Variation Selectors Unicode block (U+FE00-U+FE0F).</summary>
<returns>The Variation Selectors Unicode block (U+FE00-U+FE0F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.VedicExtensions">
<summary>Gets the Vedic Extensions Unicode block (U+1CD0-U+1CFF).</summary>
<returns>The Vedic Extensions Unicode block (U+1CD0-U+1CFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.VerticalForms">
<summary>Gets the Vertical Forms Unicode block (U+FE10-U+FE1F).</summary>
<returns>The Vertical Forms Unicode block (U+FE10-U+FE1F).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.YijingHexagramSymbols">
<summary>Gets the Yijing Hexagram Symbols Unicode block (U+4DC0-U+4DFF).</summary>
<returns>The Yijing Hexagram Symbols Unicode block (U+4DC0-U+4DFF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.YiRadicals">
<summary>Gets the Yi Radicals Unicode block (U+A490-U+A4CF).</summary>
<returns>The Yi Radicals Unicode block (U+A490-U+A4CF).</returns>
</member>
<member name="P:System.Text.Unicode.UnicodeRanges.YiSyllables">
<summary>Gets the Yi Syllables Unicode block (U+A000-U+A48F).</summary>
<returns>The Yi Syllables Unicode block (U+A000-U+A48F).</returns>
</member>
</members>
</doc>

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,545 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>System.Threading.Tasks.Extensions</name>
</assembly>
<members>
<member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute">
<summary>
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.
</summary>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute.#ctor(System.Type)">
<summary>Initializes the <see cref="T:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute"/>.</summary>
<param name="builderType">The <see cref="T:System.Type"/> of the associated builder.</param>
</member>
<member name="P:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute.BuilderType">
<summary>Gets the <see cref="T:System.Type"/> of the associated builder.</summary>
</member>
<member name="T:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder">
<summary>Represents a builder for asynchronous methods that return a <see cref="T:System.Threading.Tasks.ValueTask"/>.</summary>
</member>
<member name="F:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder._methodBuilder">
<summary>The <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder"/> to which most operations are delegated.</summary>
</member>
<member name="F:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder._haveResult">
<summary>true if completed synchronously and successfully; otherwise, false.</summary>
</member>
<member name="F:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder._useBuilder">
<summary>true if the builder should be used for setting/getting the result; otherwise, false.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder.Create">
<summary>Creates an instance of the <see cref="T:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder"/> struct.</summary>
<returns>The initialized instance.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder.Start``1(``0@)">
<summary>Begins running the builder with the associated state machine.</summary>
<typeparam name="TStateMachine">The type of the state machine.</typeparam>
<param name="stateMachine">The state machine instance, passed by reference.</param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
<summary>Associates the builder with the specified state machine.</summary>
<param name="stateMachine">The state machine instance to associate with the builder.</param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder.SetResult">
<summary>Marks the task as successfully completed.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder.SetException(System.Exception)">
<summary>Marks the task as failed and binds the specified exception to the task.</summary>
<param name="exception">The exception to bind to the task.</param>
</member>
<member name="P:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder.Task">
<summary>Gets the task for this builder.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
<summary>Schedules the state machine to proceed to the next action when the specified awaiter completes.</summary>
<typeparam name="TAwaiter">The type of the awaiter.</typeparam>
<typeparam name="TStateMachine">The type of the state machine.</typeparam>
<param name="awaiter">The awaiter.</param>
<param name="stateMachine">The state machine.</param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
<summary>Schedules the state machine to proceed to the next action when the specified awaiter completes.</summary>
<typeparam name="TAwaiter">The type of the awaiter.</typeparam>
<typeparam name="TStateMachine">The type of the state machine.</typeparam>
<param name="awaiter">The awaiter.</param>
<param name="stateMachine">The state machine.</param>
</member>
<member name="T:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1">
<summary>Represents a builder for asynchronous methods that returns a <see cref="T:System.Threading.Tasks.ValueTask`1"/>.</summary>
<typeparam name="TResult">The type of the result.</typeparam>
</member>
<member name="F:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1._methodBuilder">
<summary>The <see cref="T:System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1"/> to which most operations are delegated.</summary>
</member>
<member name="F:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1._result">
<summary>The result for this builder, if it's completed before any awaits occur.</summary>
</member>
<member name="F:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1._haveResult">
<summary>true if <see cref="F:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1._result"/> contains the synchronous result for the async method; otherwise, false.</summary>
</member>
<member name="F:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1._useBuilder">
<summary>true if the builder should be used for setting/getting the result; otherwise, false.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.Create">
<summary>Creates an instance of the <see cref="T:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1"/> struct.</summary>
<returns>The initialized instance.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.Start``1(``0@)">
<summary>Begins running the builder with the associated state machine.</summary>
<typeparam name="TStateMachine">The type of the state machine.</typeparam>
<param name="stateMachine">The state machine instance, passed by reference.</param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
<summary>Associates the builder with the specified state machine.</summary>
<param name="stateMachine">The state machine instance to associate with the builder.</param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetResult(`0)">
<summary>Marks the task as successfully completed.</summary>
<param name="result">The result to use to complete the task.</param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetException(System.Exception)">
<summary>Marks the task as failed and binds the specified exception to the task.</summary>
<param name="exception">The exception to bind to the task.</param>
</member>
<member name="P:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.Task">
<summary>Gets the task for this builder.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.AwaitOnCompleted``2(``0@,``1@)">
<summary>Schedules the state machine to proceed to the next action when the specified awaiter completes.</summary>
<typeparam name="TAwaiter">The type of the awaiter.</typeparam>
<typeparam name="TStateMachine">The type of the state machine.</typeparam>
<param name="awaiter">the awaiter</param>
<param name="stateMachine">The state machine.</param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.AwaitUnsafeOnCompleted``2(``0@,``1@)">
<summary>Schedules the state machine to proceed to the next action when the specified awaiter completes.</summary>
<typeparam name="TAwaiter">The type of the awaiter.</typeparam>
<typeparam name="TStateMachine">The type of the state machine.</typeparam>
<param name="awaiter">the awaiter</param>
<param name="stateMachine">The state machine.</param>
</member>
<member name="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable">
<summary>Provides an awaitable type that enables configured awaits on a <see cref="T:System.Threading.Tasks.ValueTask"/>.</summary>
</member>
<member name="F:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable._value">
<summary>The wrapped <see cref="T:System.Threading.Tasks.Task"/>.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable.#ctor(System.Threading.Tasks.ValueTask)">
<summary>Initializes the awaitable.</summary>
<param name="value">The wrapped <see cref="T:System.Threading.Tasks.ValueTask"/>.</param>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable.GetAwaiter">
<summary>Returns an awaiter for this <see cref="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable"/> instance.</summary>
</member>
<member name="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter">
<summary>Provides an awaiter for a <see cref="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable"/>.</summary>
</member>
<member name="F:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter._value">
<summary>The value being awaited.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter.#ctor(System.Threading.Tasks.ValueTask)">
<summary>Initializes the awaiter.</summary>
<param name="value">The value to be awaited.</param>
</member>
<member name="P:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter.IsCompleted">
<summary>Gets whether the <see cref="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable"/> has completed.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter.GetResult">
<summary>Gets the result of the ValueTask.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter.OnCompleted(System.Action)">
<summary>Schedules the continuation action for the <see cref="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable"/>.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter.UnsafeOnCompleted(System.Action)">
<summary>Schedules the continuation action for the <see cref="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable"/>.</summary>
</member>
<member name="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1">
<summary>Provides an awaitable type that enables configured awaits on a <see cref="T:System.Threading.Tasks.ValueTask`1"/>.</summary>
<typeparam name="TResult">The type of the result produced.</typeparam>
</member>
<member name="F:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1._value">
<summary>The wrapped <see cref="T:System.Threading.Tasks.ValueTask`1"/>.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.#ctor(System.Threading.Tasks.ValueTask{`0})">
<summary>Initializes the awaitable.</summary>
<param name="value">The wrapped <see cref="T:System.Threading.Tasks.ValueTask`1"/>.</param>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.GetAwaiter">
<summary>Returns an awaiter for this <see cref="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1"/> instance.</summary>
</member>
<member name="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter">
<summary>Provides an awaiter for a <see cref="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1"/>.</summary>
</member>
<member name="F:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter._value">
<summary>The value being awaited.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.#ctor(System.Threading.Tasks.ValueTask{`0})">
<summary>Initializes the awaiter.</summary>
<param name="value">The value to be awaited.</param>
</member>
<member name="P:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.IsCompleted">
<summary>Gets whether the <see cref="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1"/> has completed.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult">
<summary>Gets the result of the ValueTask.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.OnCompleted(System.Action)">
<summary>Schedules the continuation action for the <see cref="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1"/>.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.UnsafeOnCompleted(System.Action)">
<summary>Schedules the continuation action for the <see cref="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1"/>.</summary>
</member>
<member name="T:System.Runtime.CompilerServices.ValueTaskAwaiter">
<summary>Provides an awaiter for a <see cref="T:System.Threading.Tasks.ValueTask"/>.</summary>
</member>
<member name="F:System.Runtime.CompilerServices.ValueTaskAwaiter.s_invokeActionDelegate">
<summary>Shim used to invoke an <see cref="T:System.Action"/> passed as the state argument to a <see cref="T:System.Action`1"/>.</summary>
</member>
<member name="F:System.Runtime.CompilerServices.ValueTaskAwaiter._value">
<summary>The value being awaited.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter.#ctor(System.Threading.Tasks.ValueTask)">
<summary>Initializes the awaiter.</summary>
<param name="value">The value to be awaited.</param>
</member>
<member name="P:System.Runtime.CompilerServices.ValueTaskAwaiter.IsCompleted">
<summary>Gets whether the <see cref="T:System.Threading.Tasks.ValueTask"/> has completed.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter.GetResult">
<summary>Gets the result of the ValueTask.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter.OnCompleted(System.Action)">
<summary>Schedules the continuation action for this ValueTask.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter.UnsafeOnCompleted(System.Action)">
<summary>Schedules the continuation action for this ValueTask.</summary>
</member>
<member name="T:System.Runtime.CompilerServices.ValueTaskAwaiter`1">
<summary>Provides an awaiter for a <see cref="T:System.Threading.Tasks.ValueTask`1"/>.</summary>
</member>
<member name="F:System.Runtime.CompilerServices.ValueTaskAwaiter`1._value">
<summary>The value being awaited.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter`1.#ctor(System.Threading.Tasks.ValueTask{`0})">
<summary>Initializes the awaiter.</summary>
<param name="value">The value to be awaited.</param>
</member>
<member name="P:System.Runtime.CompilerServices.ValueTaskAwaiter`1.IsCompleted">
<summary>Gets whether the <see cref="T:System.Threading.Tasks.ValueTask`1"/> has completed.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter`1.GetResult">
<summary>Gets the result of the ValueTask.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter`1.OnCompleted(System.Action)">
<summary>Schedules the continuation action for this ValueTask.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter`1.UnsafeOnCompleted(System.Action)">
<summary>Schedules the continuation action for this ValueTask.</summary>
</member>
<member name="T:System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags">
<summary>
Flags passed from <see cref="T:System.Threading.Tasks.ValueTask"/> and <see cref="T:System.Threading.Tasks.ValueTask`1"/> to
<see cref="M:System.Threading.Tasks.Sources.IValueTaskSource.OnCompleted(System.Action{System.Object},System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags)"/> and <see cref="M:System.Threading.Tasks.Sources.IValueTaskSource`1.OnCompleted(System.Action{System.Object},System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags)"/>
to control behavior.
</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags.None">
<summary>
No requirements are placed on how the continuation is invoked.
</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags.UseSchedulingContext">
<summary>
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.
</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags.FlowExecutionContext">
<summary>
Set if OnCompleted should capture the current ExecutionContext and use it to run the continuation.
</summary>
</member>
<member name="T:System.Threading.Tasks.Sources.ValueTaskSourceStatus">
<summary>Indicates the status of an <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/> or <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource`1"/>.</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ValueTaskSourceStatus.Pending">
<summary>The operation has not yet completed.</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ValueTaskSourceStatus.Succeeded">
<summary>The operation completed successfully.</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ValueTaskSourceStatus.Faulted">
<summary>The operation completed with an error.</summary>
</member>
<member name="F:System.Threading.Tasks.Sources.ValueTaskSourceStatus.Canceled">
<summary>The operation completed due to cancellation.</summary>
</member>
<member name="T:System.Threading.Tasks.Sources.IValueTaskSource">
<summary>Represents an object that can be wrapped by a <see cref="T:System.Threading.Tasks.ValueTask"/>.</summary>
</member>
<member name="M:System.Threading.Tasks.Sources.IValueTaskSource.GetStatus(System.Int16)">
<summary>Gets the status of the current operation.</summary>
<param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
</member>
<member name="M:System.Threading.Tasks.Sources.IValueTaskSource.OnCompleted(System.Action{System.Object},System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags)">
<summary>Schedules the continuation action for this <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/>.</summary>
<param name="continuation">The continuation to invoke when the operation has completed.</param>
<param name="state">The state object to pass to <paramref name="continuation"/> when it's invoked.</param>
<param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
<param name="flags">The flags describing the behavior of the continuation.</param>
</member>
<member name="M:System.Threading.Tasks.Sources.IValueTaskSource.GetResult(System.Int16)">
<summary>Gets the result of the <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/>.</summary>
<param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
</member>
<member name="T:System.Threading.Tasks.Sources.IValueTaskSource`1">
<summary>Represents an object that can be wrapped by a <see cref="T:System.Threading.Tasks.ValueTask`1"/>.</summary>
<typeparam name="TResult">Specifies the type of data returned from the object.</typeparam>
</member>
<member name="M:System.Threading.Tasks.Sources.IValueTaskSource`1.GetStatus(System.Int16)">
<summary>Gets the status of the current operation.</summary>
<param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
</member>
<member name="M:System.Threading.Tasks.Sources.IValueTaskSource`1.OnCompleted(System.Action{System.Object},System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags)">
<summary>Schedules the continuation action for this <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource`1"/>.</summary>
<param name="continuation">The continuation to invoke when the operation has completed.</param>
<param name="state">The state object to pass to <paramref name="continuation"/> when it's invoked.</param>
<param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
<param name="flags">The flags describing the behavior of the continuation.</param>
</member>
<member name="M:System.Threading.Tasks.Sources.IValueTaskSource`1.GetResult(System.Int16)">
<summary>Gets the result of the <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource`1"/>.</summary>
<param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
</member>
<member name="T:System.Threading.Tasks.ValueTask">
<summary>Provides an awaitable result of an asynchronous operation.</summary>
<remarks>
<see cref="T:System.Threading.Tasks.ValueTask"/>s are meant to be directly awaited. To do more complicated operations with them, a <see cref="T:System.Threading.Tasks.Task"/>
should be extracted using <see cref="M:System.Threading.Tasks.ValueTask.AsTask"/>. 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.
</remarks>
</member>
<member name="F:System.Threading.Tasks.ValueTask.s_canceledTask">
<summary>A task canceled using `new CancellationToken(true)`.</summary>
</member>
<member name="P:System.Threading.Tasks.ValueTask.CompletedTask">
<summary>A successfully completed task.</summary>
</member>
<member name="F:System.Threading.Tasks.ValueTask._obj">
<summary>null if representing a successful synchronous completion, otherwise a <see cref="T:System.Threading.Tasks.Task"/> or a <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/>.</summary>
</member>
<member name="F:System.Threading.Tasks.ValueTask._token">
<summary>Opaque value passed through to the <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/>.</summary>
</member>
<member name="F:System.Threading.Tasks.ValueTask._continueOnCapturedContext">
<summary>true to continue on the capture context; otherwise, true.</summary>
<remarks>Stored in the <see cref="T:System.Threading.Tasks.ValueTask"/> rather than in the configured awaiter to utilize otherwise padding space.</remarks>
</member>
<member name="M:System.Threading.Tasks.ValueTask.#ctor(System.Threading.Tasks.Task)">
<summary>Initialize the <see cref="T:System.Threading.Tasks.ValueTask"/> with a <see cref="T:System.Threading.Tasks.Task"/> that represents the operation.</summary>
<param name="task">The task.</param>
</member>
<member name="M:System.Threading.Tasks.ValueTask.#ctor(System.Threading.Tasks.Sources.IValueTaskSource,System.Int16)">
<summary>Initialize the <see cref="T:System.Threading.Tasks.ValueTask"/> with a <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/> object that represents the operation.</summary>
<param name="source">The source.</param>
<param name="token">Opaque value passed through to the <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/>.</param>
</member>
<member name="M:System.Threading.Tasks.ValueTask.GetHashCode">
<summary>Returns the hash code for this instance.</summary>
</member>
<member name="M:System.Threading.Tasks.ValueTask.Equals(System.Object)">
<summary>Returns a value indicating whether this value is equal to a specified <see cref="T:System.Object"/>.</summary>
</member>
<member name="M:System.Threading.Tasks.ValueTask.Equals(System.Threading.Tasks.ValueTask)">
<summary>Returns a value indicating whether this value is equal to a specified <see cref="T:System.Threading.Tasks.ValueTask"/> value.</summary>
</member>
<member name="M:System.Threading.Tasks.ValueTask.op_Equality(System.Threading.Tasks.ValueTask,System.Threading.Tasks.ValueTask)">
<summary>Returns a value indicating whether two <see cref="T:System.Threading.Tasks.ValueTask"/> values are equal.</summary>
</member>
<member name="M:System.Threading.Tasks.ValueTask.op_Inequality(System.Threading.Tasks.ValueTask,System.Threading.Tasks.ValueTask)">
<summary>Returns a value indicating whether two <see cref="T:System.Threading.Tasks.ValueTask"/> values are not equal.</summary>
</member>
<member name="M:System.Threading.Tasks.ValueTask.AsTask">
<summary>
Gets a <see cref="T:System.Threading.Tasks.Task"/> object to represent this ValueTask.
</summary>
<remarks>
It will either return the wrapped task object if one exists, or it'll
manufacture a new task object to represent the result.
</remarks>
</member>
<member name="M:System.Threading.Tasks.ValueTask.Preserve">
<summary>Gets a <see cref="T:System.Threading.Tasks.ValueTask"/> that may be used at any point in the future.</summary>
</member>
<member name="M:System.Threading.Tasks.ValueTask.GetTaskForValueTaskSource(System.Threading.Tasks.Sources.IValueTaskSource)">
<summary>Creates a <see cref="T:System.Threading.Tasks.Task"/> to represent the <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/>.</summary>
<remarks>
The <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/> is passed in rather than reading and casting <see cref="F:System.Threading.Tasks.ValueTask._obj"/>
so that the caller can pass in an object it's already validated.
</remarks>
</member>
<member name="T:System.Threading.Tasks.ValueTask.ValueTaskSourceAsTask">
<summary>Type used to create a <see cref="T:System.Threading.Tasks.Task"/> to represent a <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/>.</summary>
</member>
<member name="F:System.Threading.Tasks.ValueTask.ValueTaskSourceAsTask._source">
<summary>The associated <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/>.</summary>
</member>
<member name="F:System.Threading.Tasks.ValueTask.ValueTaskSourceAsTask._token">
<summary>The token to pass through to operations on <see cref="F:System.Threading.Tasks.ValueTask.ValueTaskSourceAsTask._source"/></summary>
</member>
<member name="P:System.Threading.Tasks.ValueTask.IsCompleted">
<summary>Gets whether the <see cref="T:System.Threading.Tasks.ValueTask"/> represents a completed operation.</summary>
</member>
<member name="P:System.Threading.Tasks.ValueTask.IsCompletedSuccessfully">
<summary>Gets whether the <see cref="T:System.Threading.Tasks.ValueTask"/> represents a successfully completed operation.</summary>
</member>
<member name="P:System.Threading.Tasks.ValueTask.IsFaulted">
<summary>Gets whether the <see cref="T:System.Threading.Tasks.ValueTask"/> represents a failed operation.</summary>
</member>
<member name="P:System.Threading.Tasks.ValueTask.IsCanceled">
<summary>Gets whether the <see cref="T:System.Threading.Tasks.ValueTask"/> represents a canceled operation.</summary>
<remarks>
If the <see cref="T:System.Threading.Tasks.ValueTask"/> is backed by a result or by a <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/>,
this will always return false. If it's backed by a <see cref="T:System.Threading.Tasks.Task"/>, it'll return the
value of the task's <see cref="P:System.Threading.Tasks.Task.IsCanceled"/> property.
</remarks>
</member>
<member name="M:System.Threading.Tasks.ValueTask.ThrowIfCompletedUnsuccessfully">
<summary>Throws the exception that caused the <see cref="T:System.Threading.Tasks.ValueTask"/> to fail. If it completed successfully, nothing is thrown.</summary>
</member>
<member name="M:System.Threading.Tasks.ValueTask.GetAwaiter">
<summary>Gets an awaiter for this <see cref="T:System.Threading.Tasks.ValueTask"/>.</summary>
</member>
<member name="M:System.Threading.Tasks.ValueTask.ConfigureAwait(System.Boolean)">
<summary>Configures an awaiter for this <see cref="T:System.Threading.Tasks.ValueTask"/>.</summary>
<param name="continueOnCapturedContext">
true to attempt to marshal the continuation back to the captured context; otherwise, false.
</param>
</member>
<member name="T:System.Threading.Tasks.ValueTask`1">
<summary>Provides a value type that can represent a synchronously available value or a task object.</summary>
<typeparam name="TResult">Specifies the type of the result.</typeparam>
<remarks>
<see cref="T:System.Threading.Tasks.ValueTask`1"/>s are meant to be directly awaited. To do more complicated operations with them, a <see cref="T:System.Threading.Tasks.Task"/>
should be extracted using <see cref="M:System.Threading.Tasks.ValueTask`1.AsTask"/> or <see cref="M:System.Threading.Tasks.ValueTask`1.Preserve"/>. 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.
</remarks>
</member>
<member name="F:System.Threading.Tasks.ValueTask`1.s_canceledTask">
<summary>A task canceled using `new CancellationToken(true)`. Lazily created only when first needed.</summary>
</member>
<member name="F:System.Threading.Tasks.ValueTask`1._obj">
<summary>null if <see cref="F:System.Threading.Tasks.ValueTask`1._result"/> has the result, otherwise a <see cref="T:System.Threading.Tasks.Task`1"/> or a <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource`1"/>.</summary>
</member>
<member name="F:System.Threading.Tasks.ValueTask`1._result">
<summary>The result to be used if the operation completed successfully synchronously.</summary>
</member>
<member name="F:System.Threading.Tasks.ValueTask`1._token">
<summary>Opaque value passed through to the <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource`1"/>.</summary>
</member>
<member name="F:System.Threading.Tasks.ValueTask`1._continueOnCapturedContext">
<summary>true to continue on the captured context; otherwise, false.</summary>
<remarks>Stored in the <see cref="T:System.Threading.Tasks.ValueTask`1"/> rather than in the configured awaiter to utilize otherwise padding space.</remarks>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.#ctor(`0)">
<summary>Initialize the <see cref="T:System.Threading.Tasks.ValueTask`1"/> with a <typeparamref name="TResult"/> result value.</summary>
<param name="result">The result.</param>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.#ctor(System.Threading.Tasks.Task{`0})">
<summary>Initialize the <see cref="T:System.Threading.Tasks.ValueTask`1"/> with a <see cref="T:System.Threading.Tasks.Task`1"/> that represents the operation.</summary>
<param name="task">The task.</param>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.#ctor(System.Threading.Tasks.Sources.IValueTaskSource{`0},System.Int16)">
<summary>Initialize the <see cref="T:System.Threading.Tasks.ValueTask`1"/> with a <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource`1"/> object that represents the operation.</summary>
<param name="source">The source.</param>
<param name="token">Opaque value passed through to the <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/>.</param>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.#ctor(System.Object,`0,System.Int16,System.Boolean)">
<summary>Non-verified initialization of the struct to the specified values.</summary>
<param name="obj">The object.</param>
<param name="result">The result.</param>
<param name="token">The token.</param>
<param name="continueOnCapturedContext">true to continue on captured context; otherwise, false.</param>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.GetHashCode">
<summary>Returns the hash code for this instance.</summary>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.Equals(System.Object)">
<summary>Returns a value indicating whether this value is equal to a specified <see cref="T:System.Object"/>.</summary>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.Equals(System.Threading.Tasks.ValueTask{`0})">
<summary>Returns a value indicating whether this value is equal to a specified <see cref="T:System.Threading.Tasks.ValueTask`1"/> value.</summary>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.op_Equality(System.Threading.Tasks.ValueTask{`0},System.Threading.Tasks.ValueTask{`0})">
<summary>Returns a value indicating whether two <see cref="T:System.Threading.Tasks.ValueTask`1"/> values are equal.</summary>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.op_Inequality(System.Threading.Tasks.ValueTask{`0},System.Threading.Tasks.ValueTask{`0})">
<summary>Returns a value indicating whether two <see cref="T:System.Threading.Tasks.ValueTask`1"/> values are not equal.</summary>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.AsTask">
<summary>
Gets a <see cref="T:System.Threading.Tasks.Task`1"/> object to represent this ValueTask.
</summary>
<remarks>
It will either return the wrapped task object if one exists, or it'll
manufacture a new task object to represent the result.
</remarks>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.Preserve">
<summary>Gets a <see cref="T:System.Threading.Tasks.ValueTask`1"/> that may be used at any point in the future.</summary>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.GetTaskForValueTaskSource(System.Threading.Tasks.Sources.IValueTaskSource{`0})">
<summary>Creates a <see cref="T:System.Threading.Tasks.Task`1"/> to represent the <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource`1"/>.</summary>
<remarks>
The <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource`1"/> is passed in rather than reading and casting <see cref="F:System.Threading.Tasks.ValueTask`1._obj"/>
so that the caller can pass in an object it's already validated.
</remarks>
</member>
<member name="T:System.Threading.Tasks.ValueTask`1.ValueTaskSourceAsTask">
<summary>Type used to create a <see cref="T:System.Threading.Tasks.Task`1"/> to represent a <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource`1"/>.</summary>
</member>
<member name="F:System.Threading.Tasks.ValueTask`1.ValueTaskSourceAsTask._source">
<summary>The associated <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/>.</summary>
</member>
<member name="F:System.Threading.Tasks.ValueTask`1.ValueTaskSourceAsTask._token">
<summary>The token to pass through to operations on <see cref="F:System.Threading.Tasks.ValueTask`1.ValueTaskSourceAsTask._source"/></summary>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.IsCompleted">
<summary>Gets whether the <see cref="T:System.Threading.Tasks.ValueTask`1"/> represents a completed operation.</summary>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.IsCompletedSuccessfully">
<summary>Gets whether the <see cref="T:System.Threading.Tasks.ValueTask`1"/> represents a successfully completed operation.</summary>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.IsFaulted">
<summary>Gets whether the <see cref="T:System.Threading.Tasks.ValueTask`1"/> represents a failed operation.</summary>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.IsCanceled">
<summary>Gets whether the <see cref="T:System.Threading.Tasks.ValueTask`1"/> represents a canceled operation.</summary>
<remarks>
If the <see cref="T:System.Threading.Tasks.ValueTask`1"/> is backed by a result or by a <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource`1"/>,
this will always return false. If it's backed by a <see cref="T:System.Threading.Tasks.Task"/>, it'll return the
value of the task's <see cref="P:System.Threading.Tasks.Task.IsCanceled"/> property.
</remarks>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.Result">
<summary>Gets the result.</summary>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.GetAwaiter">
<summary>Gets an awaiter for this <see cref="T:System.Threading.Tasks.ValueTask`1"/>.</summary>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.ConfigureAwait(System.Boolean)">
<summary>Configures an awaiter for this <see cref="T:System.Threading.Tasks.ValueTask`1"/>.</summary>
<param name="continueOnCapturedContext">
true to attempt to marshal the continuation back to the captured context; otherwise, false.
</param>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.ToString">
<summary>Gets a string-representation of this <see cref="T:System.Threading.Tasks.ValueTask`1"/>.</summary>
</member>
</members>
</doc>

Binary file not shown.

View File

@ -0,0 +1,964 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>TStudyDigitalPen.AP</name>
</assembly>
<members>
<member name="T:TStudyDigitalPen.AP.BLUETOOTH_DISCONNECTION_REASON">
<summary>
蓝牙断连状态码
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.BLUETOOTH_DISCONNECTION_REASON.TSDPEN_PEN_DISCONNECT_REASON_LONG_PRESS">
<summary>
长按
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.BLUETOOTH_DISCONNECTION_REASON.TSDPEN_PEN_DISCONNECT_REASON_TRIGGER_REST">
<summary>
触发复位
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.BLUETOOTH_DISCONNECTION_REASON.TSDPEN_PEN_DISCONNECT_REASON_USB_UNPLUG">
<summary>
USB 拔出
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.BLUETOOTH_DISCONNECTION_REASON.TSDPEN_PEN_DISCONNECT_REASON_LOW_POWER">
<summary>
电量过低
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.BLUETOOTH_DISCONNECTION_REASON.TSDPEN_PEN_DISCONNECT_REASON_COMMAND">
<summary>
指令或app 主动关机触发
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.BLUETOOTH_DISCONNECTION_REASON.TSDPEN_PEN_DISCONNECT_REASON_TIMEOUT_TRIGGER">
<summary>
超时触发
</summary>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.setCurrentPenNameExpose(System.IntPtr,System.String,System.String)">
<summary>
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.DigitalPenAP.APPenConnectEventHandler">
<summary>
笔连接delegate
</summary>
<param name="time">时间戳1970年1月1日到现在的总毫秒数</param>
<param name="penSerial">点阵笔序列号</param>
<param name="penType">点阵笔型号编号</param>
</member>
<member name="T:TStudyDigitalPen.AP.DigitalPenAP.APPenDisconnectEventHandler">
<summary>
笔断开delegate
</summary>
<param name="time">时间戳1970年1月1日到现在的总毫秒数</param>
<param name="penSerial">点阵笔序列号</param>
<param name="penType">点阵笔型号编号</param>
</member>
<member name="T:TStudyDigitalPen.AP.DigitalPenAP.APPenUpEventHandler">
<summary>
抬笔delegate
</summary>
<param name="time">时间戳1970年1月1日到现在的总毫秒数</param>
<param name="penSerial">点阵笔序列号</param>
<param name="penType">点阵笔型号编号</param>
</member>
<member name="T:TStudyDigitalPen.AP.DigitalPenAP.APPenDownEventHandler">
<summary>
落笔delegate
</summary>
<param name="time">时间戳1970年1月1日到现在的总毫秒数</param>
<param name="penSerial">点阵笔序列号</param>
<param name="penType">点阵笔型号编号</param>
</member>
<member name="T:TStudyDigitalPen.AP.DigitalPenAP.APPenCoordinateEventHandler">
<summary>
笔书写收到坐标delegate
</summary>
<param name="time">时间戳1970年1月1日到现在的总毫秒数</param>
<param name="penSerial">点阵笔序列号</param>
<param name="penType">点阵笔型号编号</param>
<param name="pageSerial">点阵地址</param>
<param name="cx">x坐标</param>
<param name="cy">y坐标</param>
<param name="force">压力值</param>
</member>
<member name="T:TStudyDigitalPen.AP.DigitalPenAP.APPenPenInfoEventHandler">
<summary>
笔信息delegate
</summary>
<param name="time">时间戳1970年1月1日到现在的总毫秒数</param>
<param name="penSerial">点阵笔序列号</param>
<param name="penType">点阵笔型号编号</param>
<param name="penMacAddress">点阵笔MAC</param>
<param name="batteryPercent">剩余电量百分比</param>
<param name="memoryPercent">剩余存储空间百分比</param>
<param name="memoryUsedInBytes">以使用存储空间(字节数)</param>
<param name="hw">HW</param>
<param name="sw">sw</param>
</member>
<member name="T:TStudyDigitalPen.AP.DigitalPenAP.APPenPenRTCEventHandler">
<summary>
笔实时时钟事件(时间戳)
</summary>
<param name="time">时间戳1970年1月1日到现在的总毫秒数</param>
<param name="penSerial">点阵笔序列号</param>
<param name="penType">点阵笔型号编号</param>
<param name="rtc">笔实时时钟时间戳1970年1月1日到现在的总毫秒数</param>
</member>
<member name="T:TStudyDigitalPen.AP.DigitalPenAP.APPenBluetoothDisconnectionReason">
<summary>
蓝牙断连原因事件回调函数类型
</summary>
<param name="penSerial">点阵笔序列号</param>
<param name="evt">蓝牙断连事件返回</param>
</member>
<member name="T:TStudyDigitalPen.AP.DigitalPenAP.APPenSetNameResult">
<summary>
设置笔名字结果事件回调函数类型
</summary>
<param name="penSerial">点阵笔序列号</param>
<param name="evt">设置笔名字返回</param>
</member>
<member name="T:TStudyDigitalPen.AP.DigitalPenAP.APPenGetName">
<summary>
获取笔名字事件回调函数类型
</summary>
<param name="penSerial">点阵笔序列号</param>
<param name="evt">获取笔名字事件返回</param>
</member>
<member name="T:TStudyDigitalPen.AP.DigitalPenAP.APPenSetLedResult">
<summary>
设置指示灯结果事件回调函数类型
</summary>
<param name="penSerial">点阵笔序列号</param>
<param name="evt">设置指示灯事件返回</param>
</member>
<member name="T:TStudyDigitalPen.AP.DigitalPenAP.APPenSetLedTemporaryResult">
<summary>
设置指示灯临时状态结果事件回调函数类型
</summary>
<param name="penSerial">点阵笔序列号</param>
<param name="evt">设置指示灯临时状态事件返回</param>
</member>
<member name="T:TStudyDigitalPen.AP.DigitalPenAP.APPenGetLed">
<summary>
获取指示灯结果事件回调函数类型
</summary>
<param name="penSerial">点阵笔序列号</param>
<param name="evt">获取指示灯事件返回</param>
</member>
<member name="T:TStudyDigitalPen.AP.DigitalPenAP.APPenSetBuzzerResult">
<summary>
设置蜂鸣器结果事件回调函数类型
</summary>
<param name="penSerial">点阵笔序列号</param>
<param name="evt">设置蜂鸣器结果事件返回</param>
</member>
<member name="T:TStudyDigitalPen.AP.DigitalPenAP.APPenSetShutDownTimeResult">
<summary>
设置笔超时关机时间结果事件回调函数类型
</summary>
<param name="penSerial">点阵笔序列号</param>
<param name="evt">设置笔超时关机时间事件返回</param>
</member>
<member name="T:TStudyDigitalPen.AP.DigitalPenAP.APPenGetShutDownTime">
<summary>
获取笔超时关机时间事件回调函数类型
</summary>
<param name="penSerial">点阵笔序列号</param>
<param name="evt">获取笔超时关机时间事件返回</param>
</member>
<member name="T:TStudyDigitalPen.AP.DigitalPenAP.APPenGetHandwriting">
<summary>
获取笔迹分布事件回调函数类型
</summary>
<param name="penSerial">点阵笔序列号</param>
<param name="evt">获取笔迹分布事件返回</param>
</member>
<member name="T:TStudyDigitalPen.AP.DigitalPenAP.APReceivePenBatteryChanged">
<summary>
电量上报事件回调函数类型
</summary>
<param name="penSerial">点阵笔序列号</param>
<param name="evt">电量上报事件返回</param>
</member>
<member name="E:TStudyDigitalPen.AP.DigitalPenAP.PenCoordinate">
<summary>
书写事件,收到坐标
</summary>
</member>
<member name="E:TStudyDigitalPen.AP.DigitalPenAP.PenDown">
<summary>
落笔事件
</summary>
</member>
<member name="E:TStudyDigitalPen.AP.DigitalPenAP.PenUp">
<summary>
抬笔事件
</summary>
</member>
<member name="E:TStudyDigitalPen.AP.DigitalPenAP.PenConnected">
<summary>
笔连接事件
</summary>
</member>
<member name="E:TStudyDigitalPen.AP.DigitalPenAP.PenDisconnect">
<summary>
笔断开事件
</summary>
</member>
<member name="E:TStudyDigitalPen.AP.DigitalPenAP.PenInfo">
<summary>
笔信息事件,笔连接后触发
</summary>
</member>
<member name="E:TStudyDigitalPen.AP.DigitalPenAP.PenRTC">
<summary>
笔RTC实时时钟事件
</summary>
</member>
<member name="E:TStudyDigitalPen.AP.DigitalPenAP.PenBluetoothDisconnectionReason">
<summary>
蓝牙断连原因事件
</summary>
</member>
<member name="E:TStudyDigitalPen.AP.DigitalPenAP.PenSetName">
<summary>
设置笔名字结果事件
</summary>
</member>
<member name="E:TStudyDigitalPen.AP.DigitalPenAP.PenPenGetName">
<summary>
获取笔名字事件
</summary>
</member>
<member name="E:TStudyDigitalPen.AP.DigitalPenAP.PenPenSetLed">
<summary>
设置指示灯结果事件
</summary>
</member>
<member name="E:TStudyDigitalPen.AP.DigitalPenAP.PenPenSetLedTemporary">
<summary>
设置指示灯临时状态结果事件
</summary>
</member>
<member name="E:TStudyDigitalPen.AP.DigitalPenAP.PenGetLed">
<summary>
获取指示灯结果事件
</summary>
</member>
<member name="E:TStudyDigitalPen.AP.DigitalPenAP.PenSetShutDownTime">
<summary>
设置蜂鸣器结果事件
</summary>
</member>
<member name="E:TStudyDigitalPen.AP.DigitalPenAP.PenSetBuzzer">
<summary>
设置笔超时关机时间结果事件
</summary>
</member>
<member name="E:TStudyDigitalPen.AP.DigitalPenAP.PenGetShutDown">
<summary>
获取笔超时关机时间事件
</summary>
</member>
<member name="E:TStudyDigitalPen.AP.DigitalPenAP.PenGetHandwriting">
<summary>
获取笔迹分布事件
</summary>
</member>
<member name="E:TStudyDigitalPen.AP.DigitalPenAP.ReceivePenBatteryChanged">
<summary>
电量上报事件
</summary>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.GetInstance(System.SByte[],System.UInt32)">
<summary>
获取SDK实例
</summary>
<param name="lic">授权文件内容</param>
<returns>DigitalPenAP实例</returns>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.Start">
<summary>
初始化点阵笔SDK
</summary>
<returns>详见ERROR_CODE返回值含义</returns>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.Stop">
<summary>
停止接收点阵笔数据与start函数成对调用程序退出前调用
</summary>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.ClearPenMemory(System.String)">
<summary>
清除笔内存储内容,在不需要笔内离线数据时,可在笔连接成功后,调用此函数
</summary>
<param name="penSerial">笔序列号</param>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.GetPenInfo(System.String)">
<summary>
获取笔信息
</summary>
<param name="penSerial">序列号</param>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.GetPenData(System.String)">
<summary>
开始获取笔数据,一般在笔连接成功事件中,或笔信息事件中调用,开始接收点阵笔事件数据;若需要清空笔内数据,请先清空数据再调用此函数
</summary>
<param name="penSerial">点阵笔序列号</param>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.GetPenRTC(System.String)">
<summary>
获取笔的RTC实时时钟时间笔时间戳
</summary>
<param name="penSerial"></param>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.SetPenRTC(System.String,System.UInt64)">
<summary>
设置笔的RTC实时时钟时间笔时间戳
</summary>
<param name="penSerial"></param>
<param name="rtc"></param>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.SetPenTransMode(System.String,System.Int32)">
<summary>
设置读取的数据模式
</summary>
<param name="penSerial"></param>
<param name="mode">0:存储1实时2传离线数据3只传实时数据4悬浮</param>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.SetCurrentPenNameExpose(System.String,System.String)">
<summary>
设置笔名
</summary>
<param name="penSerial">笔序列号</param>
<param name="name">想要设为的笔名</param>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.GetCurrentPenNameExpose(System.String)">
<summary>
获取笔名
</summary>
<param name="penSerial">笔序列号</param>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.SetCurrentPenLedExpose(System.String,TStudyDigitalPen.AP.led_list_unit_s@)">
<summary>
设置指示灯
</summary>
<param name="penSerial">笔序列号</param>
<param name="led_state">想要设为的指示灯信息</param>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.SetCurrentPenLedTemporaryExpose(System.String,TStudyDigitalPen.AP.led_tmp_state_s@)">
<summary>
设置临时指示灯
</summary>
<param name="penSerial">笔序列号</param>
<param name="led_tmp_state">想要设为的临时指示灯信息</param>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.GetCurrentPenLedExpose(System.String)">
<summary>
获取指示灯信息
</summary>
<param name="penSerial">笔序列号</param>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.SetCurrentPenBuzzerExpose(System.String,TStudyDigitalPen.AP.tsdpen_buzzer_set_t@)">
<summary>
设置蜂鸣器
</summary>
<param name="penSerial">笔序列号</param>
<param name="buzzer">想要设为的设置蜂鸣器鸣叫信息</param>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.SetShutdownTimeExpose(System.String,System.UInt16)">
<summary>
设置定时关机时间(单位为分钟)
</summary>
<param name="penSerial">笔序列号</param>
<param name="set_ttv">分钟数</param>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.GetShutdownTimeExpose(System.String)">
<summary>
获取定时关机时间(单位为分钟)
</summary>
<param name="penSerial">笔序列号</param>
</member>
<member name="M:TStudyDigitalPen.AP.DigitalPenAP.GetCurrentHandwritingDistributionExpose(System.String,TStudyDigitalPen.AP.hdwrdist_set_ts_t@,TStudyDigitalPen.AP.hdwrdist_list_t@)">
<summary>
获取笔迹分布时间
</summary>
<param name="penSerial">笔序列号</param>
<param name="p_ts">想要获取的笔迹分布信息</param>
<param name="p_list">存放获取到信息的指针</param>
</member>
<member name="T:TStudyDigitalPen.AP.ERROR_CODE">
<summary>
SDK初始化返回值
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.ERROR_CODE.ERROR_OK">
<summary>
成功
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.ERROR_CODE.ERROR_INIT_FAILED">
<summary>
初始化错误
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.ERROR_CODE.ERROR_TSTUDY_DIGITAL_PEN_LIC_DLL_NOT_FOUND">
<summary>
没有找到TstudyDigitalPenLic.dll
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.ERROR_CODE.ERROR_LICENSE_VALIDATION_FAILED">
<summary>
SDK授权校验失败
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.ERROR_CODE.ERROR_BIND_FAILD">
<summary>
启动了两个或以上的SDK程序
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.ERROR_CODE.ERROR_LICENSE_TYPE_NOT_MATCH">
<summary>
授权类型不匹配,使用了错误类型的授权文件
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.ERROR_CODE.ERROR_LICENSE_NOT_BEGIN">
<summary>
未到授权开始时间【该值已经废除,请忽略】
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.ERROR_CODE.ERROR_LICENSE_EXPIRED">
<summary>
授权时间已过期【该值已经废除,请忽略】
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.ERROR_CODE.ERROR_UNKNOWN">
<summary>
未知错误
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.GET_PEN_HDWRDIST">
<summary>
获取笔迹分布状态返回码
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.GET_PEN_HDWRDIST.TSDPEN_GET_PEN_HDWRDIST_RES_SUCCESS">
<summary>
获取成功
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.GET_PEN_HDWRDIST.TSDPEN_GET_PEN_HDWRDIST_RES_REMOTE_FAULT">
<summary>
远端故障
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.GET_PEN_HDWRDIST.TSDPEN_GET_PEN_HDWRDIST_RES_NO_RSP">
<summary>
笔无响应
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.GET_PEN_LED_STATE">
<summary>
获取笔灯状态码
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.GET_PEN_LED_STATE.TSDPEN_GET_PEN_LED_STATE_RES_SUCCESS">
<summary>
获取成功
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.GET_PEN_LED_STATE.TSDPEN_GET_PEN_LED_STATE_RES_REMOTE_FAULT">
<summary>
远端故障
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.GET_PEN_LED_STATE.TSDPEN_GET_PEN_LED_STATE_RES_NO_RSP">
<summary>
笔无响应
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.GET_PEN_NAME">
<summary>
获取笔名返回状态
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.GET_PEN_NAME.TSDPEN_GET_PEN_NAME_RES_SUCCESS">
<summary>
获取成功
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.GET_TIMEOUT_VAL">
<summary>
获取超时时间状态码
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.GET_TIMEOUT_VAL.TSDPEN_TIME_GET_TIMEOUT_VALUE_RES_SUCCESS">
<summary>
获取成功
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.hdwrdist_list_t">
<summary>
存放信息的指针
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.hdwrdist_list_t.list_cnt">
<summary>
总共记录的数据项个数, 小于HDWRDIST_LIST_MAX_CNT
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.hdwrdist_list_t.list">
<summary>
持续天数
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.hdwrdist_list_unit_t">
<summary>
每30分钟产生一条list,每天48条预留10天即10*48=480条
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.hdwrdist_list_unit_t.rtc">
<summary>
起始时间戳(相对于2018年单位秒)
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.hdwrdist_list_unit_t.hdwr_evt_cnt">
<summary>
笔迹事件个数
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.hdwrdist_set_ts_t">
<summary>
笔迹分布信息
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.hdwrdist_set_ts_t.is_get_all">
<summary>
是否获取全部数据true:获取全部数据,后面参数忽略false获取指定
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.hdwrdist_set_ts_t.st_rtc">
<summary>
起始时间rtc(相对于1970年偏移的秒数)
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.hdwrdist_set_ts_t.day">
<summary>
持续天数
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.led_list_unit_s">
<summary>
灯数据
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.led_list_unit_s.type">
<summary>
灯类型
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.led_list_unit_s.state">
<summary>
灯状态
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.LED_STATE_E">
<summary>
灯状态
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_STATE_E.BLUE_LIGHT_ON">
<summary>
蓝灯常亮
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_STATE_E.BLUE_LIGHT_FLASHING">
<summary>
蓝灯闪烁
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_STATE_E.GREEN_LIGHT_ON">
<summary>
绿灯常亮
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_STATE_E.GREEN_LIGHT_FLASHING">
<summary>
绿灯闪烁
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_STATE_E.RED_LIGHT_ON">
<summary>
红灯常亮
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_STATE_E.RED_LIGHT_FLASHING">
<summary>
红灯闪烁
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_STATE_E.YELLOW_LIGHT_ON">
<summary>
黄灯常亮
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_STATE_E.YELLOW_LIGHT_FLASHING">
<summary>
黄灯闪烁
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_STATE_E.PINK_LIGHT_ON">
<summary>
粉红灯常亮
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_STATE_E.PINK_LIGHT_FLASHING">
<summary>
粉红灯闪烁
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_STATE_E.LIGHT_BLUE_LIGHT_ON">
<summary>
浅蓝灯常亮
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_STATE_E.LIGHT_BLUE_LIGHT_FLASHING">
<summary>
浅蓝灯闪烁
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_STATE_E.WHITE_LIGHT_ON">
<summary>
白灯常亮
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_STATE_E.WHITE_LIGHT_FLASHING">
<summary>
白灯闪烁
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.led_tmp_state_s">
<summary>
灯临时数据
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.led_tmp_state_s.type">
<summary>
灯类型
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.led_tmp_state_s.state">
<summary>
灯状态
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.led_tmp_state_s.is_enable">
<summary>
用于启动或停止状态false停止后续参数无效true开始需要设置后续参数
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.led_tmp_state_s.is_contd">
<summary>
是否持续false不持续需要配置时间参数 true持续时间参数无效注意is_enable为true有效
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.led_tmp_state_s.time_sec">
<summary>
持续时间取值范围1-254,单位注意is_enable为true且is_contd为false时有效
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.LED_TYPE_E">
<summary>
灯类型
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_TYPE_E.POWER_ON_LED">
<summary>
上电默认状态
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_TYPE_E.BLE_CONNECT_LED">
<summary>
蓝牙连接状态
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_TYPE_E.LOW_POWER_WARNING_LED">
<summary>
低电量警告状态
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_TYPE_E.CHARGING_LED">
<summary>
充电状态
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_TYPE_E.STORAGE_FULL_LED">
<summary>
存储满状态
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.LED_TYPE_E.LED_TYPE_NUM">
<summary>
存储满状态
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.SET_BUZZER">
<summary>
设置蜂鸣器状态码
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.SET_BUZZER.TSDPEN_BUZZER_SET_SUCCESS">
<summary>
设置成功
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.SET_BUZZER.TSDPEN_BUZZER_SET_FREQ_ERROR">
<summary>
频率参数错误
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.SET_BUZZER.TSDPEN_BUZZER_SET_BUZZ_TIME_ERROR">
<summary>
蜂鸣器鸣叫时长参数错误
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.SET_BUZZER.TSDPEN_BUZZER_SET_FREQ_BUZZ_TIME_ERROR">
<summary>
频率、蜂鸣器鸣叫时长参数错误
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.SET_BUZZER.TSDPEN_BUZZER_SET_NSP">
<summary>
该设备不支持蜂鸣器功能
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.SET_PEN_LED_STATE">
<summary>
设置笔灯状态码
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.SET_PEN_LED_STATE.TSDPEN_SET_PEN_LED_STATE_RES_SUCCESS">
<summary>
配置成功
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.SET_PEN_LED_STATE.TSDPEN_SET_PEN_LED_STATE_RES_NSP_TYPE">
<summary>
配置内容包含不支持的指示类型
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.SET_PEN_LED_STATE.TSDPEN_SET_PEN_LED_STATE_RES_NSP_STATE">
<summary>
配置内容包含不支持的指示灯状态
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.SET_PEN_LED_STATE.TSDPEN_SET_PEN_LED_STATE_RES_CONFIG_ERROR">
<summary>
配置错误(如参数写入出错等)
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.SET_PEN_LED_STATE.TSDPEN_SET_PEN_LED_STATE_RES_SWITCH_FAILED">
<summary>
切换失败,当前状态非期望状态
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.SET_PEN_NAME">
<summary>
设置笔名返回状态
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.SET_PEN_NAME.TSDPEN_SET_PEN_NAME_RES_SUCCESS">
<summary>
设置成功
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.SET_PEN_NAME.TSDPEN_SET_PEN_NAME_RES_FAULT">
<summary>
设置失败
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.SET_TIMEOUT_VAL">
<summary>
设置超时时间状态码
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.SET_TIMEOUT_VAL.TSDPEN_TIME_SET_TIMEOUT_VALUE_RES_SUCCESS">
<summary>
设置成功
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.SET_TIMEOUT_VAL.TSDPEN_TIME_SET_TIMEOUT_VALUE_RES_FAULT">
<summary>
设置失败
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.SET_TIMEOUT_VAL.TSDPEN_TIME_SET_TIMEOUT_VALUE_RES_ILLEGAL_VALUE">
<summary>
非法设置值
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.tsdpen_battery_changed_t">
<summary>
电量更新事件
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_battery_changed_t.charge">
<summary>
当前电量百分值
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.tsdpen_buzzer_set_t">
<summary>
蜂鸣器设置
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_buzzer_set_t.onoff">
<summary>
开关:(0:关闭蜂鸣器1打开蜂鸣器
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_buzzer_set_t.buzz_freq">
<summary>
蜂鸣器鸣叫频率(Hz 范围101-10000)
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_buzzer_set_t.buzz_time">
<summary>
蜂鸣器鸣叫时间单位ms 范围11-1000
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_buzzer_set_t.buzz_interval_ms">
<summary>
蜂鸣器鸣响间隔单位ms 范围200 - 1600
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_buzzer_set_t.once_buzz_count">
<summary>
单次鸣响次数,仅配置单次有效时生效:(1-8)
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_buzzer_set_t.once_valid">
<summary>
参数有效期:(0持续有效1单次有效
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.tsdpen_rsp_bluetooth_disconnection_reason_t">
<summary>
蓝牙断连事件类型
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_rsp_bluetooth_disconnection_reason_t.res">
<summary>
蓝牙断连状态码
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.tsdpen_rsp_get_pen_hdwrdist_t">
<summary>
获取笔迹分布状态
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_rsp_get_pen_hdwrdist_t.res">
<summary>
获取笔迹分布状态返回码
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_rsp_get_pen_hdwrdist_t.p_list">
<summary>
笔迹事件个数
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.tsdpen_rsp_get_pen_led_state_t">
<summary>
获取笔灯的状态
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_rsp_get_pen_led_state_t.res">
<summary>
获取笔灯状态码
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_rsp_get_pen_led_state_t.details">
<summary>
笔灯状态列表
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.tsdpen_rsp_get_pen_name_t">
<summary>
获取笔的名字
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_rsp_get_pen_name_t.res">
<summary>
返回状态码
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_rsp_get_pen_name_t.name">
<summary>
笔名
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.tsdpen_rsp_get_timeout_val_t">
<summary>
获取超时时间
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_rsp_get_timeout_val_t.res">
<summary>
获取超时时间状态码
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_rsp_get_timeout_val_t.ttv">
<summary>
起始时间戳(相对于2018年单位秒)
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.tsdpen_rsp_set_buzzer_t">
<summary>
设置蜂鸣器响应消息
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_rsp_set_buzzer_t.res">
<summary>
设置蜂鸣器状态码
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.tsdpen_rsp_set_pen_led_state_t">
<summary>
设置笔灯的状态
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_rsp_set_pen_led_state_t.res">
<summary>
设置笔灯状态码
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.tsdpen_rsp_set_pen_name_t">
<summary>
设置笔的名字
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_rsp_set_pen_name_t.res">
<summary>
返回状态码
</summary>
</member>
<member name="T:TStudyDigitalPen.AP.tsdpen_rsp_set_timeout_val_t">
<summary>
设置超时时间
</summary>
</member>
<member name="F:TStudyDigitalPen.AP.tsdpen_rsp_set_timeout_val_t.res">
<summary>
设置超时时间状态码
</summary>
</member>
</members>
</doc>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" /></startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.4.0" newVersion="4.2.4.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Binary file not shown.

Binary file not shown.

Binary file not shown.

7
bin/Debug/roomconfig.xml Normal file
View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Settings>
<ClassID>673542227816517</ClassID>
<apiUrl>http://192.168.20.150:8080</apiUrl>
</Settings>
</Root>

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]

View File

View File

@ -0,0 +1 @@
fe4507efffa991a223aa4b00f56223e928a22ad38ba4bdb32bfe7b4707e8e9d8

View File

@ -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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

16
packages.config Normal file
View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Dapper" version="2.1.66" targetFramework="net48" />
<package id="Fleck" version="1.2.0" targetFramework="net48" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="10.0.0-rc.2.25502.107" targetFramework="net48" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net40" />
<package id="System.Buffers" version="4.6.1" targetFramework="net48" />
<package id="System.IO.Pipelines" version="10.0.0-rc.2.25502.107" targetFramework="net48" />
<package id="System.Memory" version="4.6.3" targetFramework="net48" />
<package id="System.Numerics.Vectors" version="4.6.1" targetFramework="net48" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.1.2" targetFramework="net48" />
<package id="System.Text.Encodings.Web" version="10.0.0-rc.2.25502.107" targetFramework="net48" />
<package id="System.Text.Json" version="10.0.0-rc.2.25502.107" targetFramework="net48" />
<package id="System.Threading.Tasks.Extensions" version="4.6.3" targetFramework="net48" />
<package id="System.ValueTuple" version="4.6.1" targetFramework="net48" />
</packages>