diff --git a/LeatherProject/.vs/LeatherApp/FileContentIndex/1fea6690-8cca-43bd-82a8-3b14976f4466.vsidx b/LeatherProject/.vs/LeatherApp/FileContentIndex/1fea6690-8cca-43bd-82a8-3b14976f4466.vsidx
deleted file mode 100644
index 0bd7611..0000000
Binary files a/LeatherProject/.vs/LeatherApp/FileContentIndex/1fea6690-8cca-43bd-82a8-3b14976f4466.vsidx and /dev/null differ
diff --git a/LeatherProject/.vs/LeatherApp/FileContentIndex/a51e2ec6-eaab-4d04-b905-a113c596f036.vsidx b/LeatherProject/.vs/LeatherApp/FileContentIndex/a51e2ec6-eaab-4d04-b905-a113c596f036.vsidx
deleted file mode 100644
index 8c59941..0000000
Binary files a/LeatherProject/.vs/LeatherApp/FileContentIndex/a51e2ec6-eaab-4d04-b905-a113c596f036.vsidx and /dev/null differ
diff --git a/LeatherProject/.vs/LeatherApp/FileContentIndex/f83ef48f-4d01-4f4a-8f08-d804306cdd14.vsidx b/LeatherProject/.vs/LeatherApp/FileContentIndex/f83ef48f-4d01-4f4a-8f08-d804306cdd14.vsidx
new file mode 100644
index 0000000..3802905
Binary files /dev/null and b/LeatherProject/.vs/LeatherApp/FileContentIndex/f83ef48f-4d01-4f4a-8f08-d804306cdd14.vsidx differ
diff --git a/LeatherProject/.vs/LeatherApp/FileContentIndex/ff17767f-c4c1-400b-a2ec-a82e42bafa41.vsidx b/LeatherProject/.vs/LeatherApp/FileContentIndex/ff17767f-c4c1-400b-a2ec-a82e42bafa41.vsidx
new file mode 100644
index 0000000..70aef67
Binary files /dev/null and b/LeatherProject/.vs/LeatherApp/FileContentIndex/ff17767f-c4c1-400b-a2ec-a82e42bafa41.vsidx differ
diff --git a/LeatherProject/LeatherApp/.vs/LeatherApp.csproj.dtbcache.json b/LeatherProject/LeatherApp/.vs/LeatherApp.csproj.dtbcache.json
index 1889856..46689b8 100644
--- a/LeatherProject/LeatherApp/.vs/LeatherApp.csproj.dtbcache.json
+++ b/LeatherProject/LeatherApp/.vs/LeatherApp.csproj.dtbcache.json
@@ -1 +1 @@
-{"RootPath":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp","ProjectFileName":"LeatherApp.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"API.cs"},{"SourceFile":"Config.cs"},{"SourceFile":"DevContainer.cs"},{"SourceFile":"Device\\CamerCardDevIK.cs"},{"SourceFile":"Device\\CamerUtil\\BufferToImage.cs"},{"SourceFile":"Device\\CamerUtil\\IKDevice.cs"},{"SourceFile":"Device\\CamerUtil\\IKDeviceCL.cs"},{"SourceFile":"Device\\CloudMgr.cs"},{"SourceFile":"Device\\PLCDev.cs"},{"SourceFile":"Device\\PhotoLib.cs"},{"SourceFile":"Device\\DefectLib.cs"},{"SourceFile":"Device\\IOCardDev.cs"},{"SourceFile":"Device\\LightDev.cs"},{"SourceFile":"Device\\CamerCardDev.cs"},{"SourceFile":"Device\\ScannerCodeDev.cs"},{"SourceFile":"Enums.cs"},{"SourceFile":"Form1.cs"},{"SourceFile":"Form1.Designer.cs"},{"SourceFile":"Form2.cs"},{"SourceFile":"Form2.designer.cs"},{"SourceFile":"FrmMain.cs"},{"SourceFile":"FrmMain.Designer.cs"},{"SourceFile":"FrmVerList.cs"},{"SourceFile":"FrmVerList.Designer.cs"},{"SourceFile":"Interface\\ABSCamerCardDev.cs"},{"SourceFile":"Jobject.cs"},{"SourceFile":"Page\\FSelDefect.cs"},{"SourceFile":"Page\\FSelDefect.designer.cs"},{"SourceFile":"Page\\FHome_Defect.cs"},{"SourceFile":"Page\\FHome_Defect.Designer.cs"},{"SourceFile":"Page\\FChart.cs"},{"SourceFile":"Page\\FChart.Designer.cs"},{"SourceFile":"Page\\FSysSetting.cs"},{"SourceFile":"Page\\FSysSetting.Designer.cs"},{"SourceFile":"Page\\FReport.cs"},{"SourceFile":"Page\\FReport.Designer.cs"},{"SourceFile":"Page\\FProductInfo.cs"},{"SourceFile":"Page\\FProductInfo.Designer.cs"},{"SourceFile":"Page\\FHome.cs"},{"SourceFile":"Page\\FHome.Designer.cs"},{"SourceFile":"Page\\FTest.cs"},{"SourceFile":"Page\\FTest.Designer.cs"},{"SourceFile":"Program.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"UIExtend\\UCColorItem.cs"},{"SourceFile":"UIExtend\\UCColorItem.designer.cs"},{"SourceFile":"UIExtend\\UCColorList.cs"},{"SourceFile":"UIExtend\\UCColorList.designer.cs"},{"SourceFile":"UIExtend\\UCImageView.cs"},{"SourceFile":"UIExtend\\UCImageView.designer.cs"},{"SourceFile":"UIExtend\\UIDefectImage.cs"},{"SourceFile":"UIExtend\\UIDefectImage.Designer.cs"},{"SourceFile":"UIExtend\\UIDefectEdit.cs"},{"SourceFile":"UIExtend\\UIDefectEdit.Designer.cs"},{"SourceFile":"Utils\\DBUtils.cs"},{"SourceFile":"Utils\\EnumData.cs"},{"SourceFile":"Utils\\EnumUtil.cs"},{"SourceFile":"Utils\\ExcelUtil.cs"},{"SourceFile":"Utils\\FileUtil.cs"},{"SourceFile":"Utils\\FolderUtil.cs"},{"SourceFile":"Utils\\HexUtil.cs"},{"SourceFile":"Utils\\HttpUtil.CS"},{"SourceFile":"Utils\\ImageUtil.cs"},{"SourceFile":"Utils\\OpenCVUtil.cs"},{"SourceFile":"Utils\\ScreenKeyboard.cs"},{"SourceFile":"Utils\\SSerialPort.cs"},{"SourceFile":"Utils\\Util.cs"},{"SourceFile":"Utils\\WINAPI.cs"},{"SourceFile":"Properties\\Resources.Designer.cs"},{"SourceFile":"Properties\\Settings.Designer.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.8.AssemblyAttributes.cs"}],"References":[{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\bin\\Debug\\Automation.BDaq4.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\ClosedXML.0.96.0\\lib\\net46\\ClosedXML.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\DocumentFormat.OpenXml.2.16.0\\lib\\net46\\DocumentFormat.OpenXml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\ExcelNumberFormat.1.1.0\\lib\\net20\\ExcelNumberFormat.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\Dll\\halcondotnet.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\Dll\\hdevenginedotnet.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\Dll\\HZH_Controls.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\bin\\Debug\\IKapBoardClassLibrary.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\bin\\Debug\\IKapC.NET.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\Irony.NetCore.1.0.11\\lib\\net461\\Irony.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\Models\\bin\\Debug\\Models.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\MQTTnet.4.3.3.952\\lib\\net48\\MQTTnet.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\bin\\Debug\\MvCodeReaderSDK.Net.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\bin\\Debug\\MvFGCtrlC.Net.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\IIS\\Microsoft Web Deploy V3\\Newtonsoft.Json.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\bin\\Debug\\OpenCvSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\OpenCvSharp4.Extensions.4.7.0.20230115\\lib\\net48\\OpenCvSharp.Extensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\Dll\\PG_Detect.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\S7netplus.0.20.0\\lib\\net462\\S7.Net.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\Service\\bin\\Debug\\Service.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\SixLabors.Fonts.1.0.0\\lib\\netstandard2.0\\SixLabors.Fonts.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\bin\\Debug\\SqlSugar.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\SunnyUI.Common.3.6.3\\lib\\net472\\SunnyUI.Common.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\SunnyUI.3.6.3\\lib\\net472\\SunnyUI.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\Common7\\IDE\\PublicAssemblies\\System.Buffers.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.ComponentModel.Composition.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Deployment.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Design.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\System.Drawing.Common.6.0.0\\lib\\net461\\System.Drawing.Common.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Drawing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.IO.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\System.IO.Packaging.6.0.0\\lib\\net461\\System.IO.Packaging.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\Common7\\IDE\\PublicAssemblies\\System.Memory.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Numerics.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\Common7\\IDE\\PublicAssemblies\\System.Numerics.Vectors.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\Common7\\IDE\\PublicAssemblies\\System.Runtime.CompilerServices.Unsafe.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.Runtime.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.Security.Cryptography.Algorithms.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.Security.Cryptography.Encoding.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.Security.Cryptography.Primitives.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.Security.Cryptography.X509Certificates.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Security.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.Text.RegularExpressions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\Common7\\IDE\\PublicAssemblies\\System.ValueTuple.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Web.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Web.Extensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Windows.Forms.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Xaml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\WindowsBase.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\XLParser.1.5.2\\lib\\net461\\XLParser.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\bin\\Debug\\革博士AI智能检测系统.exe","OutputItemRelativePath":"革博士AI智能检测系统.exe"},{"OutputItemFullPath":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\bin\\Debug\\革博士AI智能检测系统.pdb","OutputItemRelativePath":"革博士AI智能检测系统.pdb"}],"CopyToOutputEntries":[]}
\ No newline at end of file
+{"RootPath":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp","ProjectFileName":"LeatherApp.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"API.cs"},{"SourceFile":"Config.cs"},{"SourceFile":"DevContainer.cs"},{"SourceFile":"Device\\CamerCardDevIK.cs"},{"SourceFile":"Device\\CamerUtil\\BufferToImage.cs"},{"SourceFile":"Device\\CamerUtil\\IKDevice.cs"},{"SourceFile":"Device\\CamerUtil\\IKDeviceCL.cs"},{"SourceFile":"Device\\CloudMgr.cs"},{"SourceFile":"Device\\PLCDev.cs"},{"SourceFile":"Device\\PhotoLib.cs"},{"SourceFile":"Device\\DefectLib.cs"},{"SourceFile":"Device\\IOCardDev.cs"},{"SourceFile":"Device\\LightDev.cs"},{"SourceFile":"Device\\CamerCardDev.cs"},{"SourceFile":"Device\\ScannerCodeDev.cs"},{"SourceFile":"Enums.cs"},{"SourceFile":"Form1.cs"},{"SourceFile":"Form1.Designer.cs"},{"SourceFile":"Form2.cs"},{"SourceFile":"Form2.designer.cs"},{"SourceFile":"FrmMain.cs"},{"SourceFile":"FrmMain.Designer.cs"},{"SourceFile":"FrmVerList.cs"},{"SourceFile":"FrmVerList.Designer.cs"},{"SourceFile":"Interface\\ABSCamerCardDev.cs"},{"SourceFile":"Jobject.cs"},{"SourceFile":"Page\\FSelDefect.cs"},{"SourceFile":"Page\\FSelDefect.designer.cs"},{"SourceFile":"Page\\FHome_Defect.cs"},{"SourceFile":"Page\\FHome_Defect.Designer.cs"},{"SourceFile":"Page\\FChart.cs"},{"SourceFile":"Page\\FChart.Designer.cs"},{"SourceFile":"Page\\FSysSetting.cs"},{"SourceFile":"Page\\FSysSetting.Designer.cs"},{"SourceFile":"Page\\FReport.cs"},{"SourceFile":"Page\\FReport.Designer.cs"},{"SourceFile":"Page\\FProductInfo.cs"},{"SourceFile":"Page\\FProductInfo.Designer.cs"},{"SourceFile":"Page\\FHome.cs"},{"SourceFile":"Page\\FHome.Designer.cs"},{"SourceFile":"Page\\FTest.cs"},{"SourceFile":"Page\\FTest.Designer.cs"},{"SourceFile":"Program.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"UIExtend\\UCColorItem.cs"},{"SourceFile":"UIExtend\\UCColorItem.designer.cs"},{"SourceFile":"UIExtend\\UCColorList.cs"},{"SourceFile":"UIExtend\\UCColorList.designer.cs"},{"SourceFile":"UIExtend\\UCImageView.cs"},{"SourceFile":"UIExtend\\UCImageView.designer.cs"},{"SourceFile":"UIExtend\\UIDefectImage.cs"},{"SourceFile":"UIExtend\\UIDefectImage.Designer.cs"},{"SourceFile":"UIExtend\\UIDefectEdit.cs"},{"SourceFile":"UIExtend\\UIDefectEdit.Designer.cs"},{"SourceFile":"Utils\\DBUtils.cs"},{"SourceFile":"Utils\\EnumData.cs"},{"SourceFile":"Utils\\EnumUtil.cs"},{"SourceFile":"Utils\\ExcelUtil.cs"},{"SourceFile":"Utils\\FileUtil.cs"},{"SourceFile":"Utils\\FolderUtil.cs"},{"SourceFile":"Utils\\HexUtil.cs"},{"SourceFile":"Utils\\HttpUtil.CS"},{"SourceFile":"Utils\\ImageUtil.cs"},{"SourceFile":"Utils\\OpenCVUtil.cs"},{"SourceFile":"Utils\\ScreenKeyboard.cs"},{"SourceFile":"Utils\\SSerialPort.cs"},{"SourceFile":"Utils\\Util.cs"},{"SourceFile":"Utils\\WINAPI.cs"},{"SourceFile":"Properties\\Resources.Designer.cs"},{"SourceFile":"Properties\\Settings.Designer.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.8.AssemblyAttributes.cs"}],"References":[{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\bin\\Debug\\Automation.BDaq4.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\ClosedXML.0.96.0\\lib\\net46\\ClosedXML.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\DocumentFormat.OpenXml.2.16.0\\lib\\net46\\DocumentFormat.OpenXml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\ExcelNumberFormat.1.1.0\\lib\\net20\\ExcelNumberFormat.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\Dll\\halcondotnet.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\Dll\\hdevenginedotnet.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\Dll\\HZH_Controls.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\bin\\Debug\\IKapBoardClassLibrary.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\bin\\Debug\\IKapC.NET.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\Irony.NetCore.1.0.11\\lib\\net461\\Irony.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\Microsoft.Bcl.AsyncInterfaces.8.0.0\\lib\\net462\\Microsoft.Bcl.AsyncInterfaces.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\Models\\bin\\Debug\\Models.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\MQTTnet.4.3.3.952\\lib\\net48\\MQTTnet.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\bin\\Debug\\MvCodeReaderSDK.Net.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\bin\\Debug\\MvFGCtrlC.Net.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\IIS\\Microsoft Web Deploy V3\\Newtonsoft.Json.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\bin\\Debug\\OpenCvSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\OpenCvSharp4.Extensions.4.7.0.20230115\\lib\\net48\\OpenCvSharp.Extensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\Oracle.ManagedDataAccess.23.6.0\\lib\\net472\\Oracle.ManagedDataAccess.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\Dll\\PG_Detect.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\S7netplus.0.20.0\\lib\\net462\\S7.Net.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\Service\\bin\\Debug\\Service.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\SixLabors.Fonts.1.0.0\\lib\\netstandard2.0\\SixLabors.Fonts.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\bin\\Debug\\SqlSugar.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\SunnyUI.Common.3.6.3\\lib\\net472\\SunnyUI.Common.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\SunnyUI.3.6.3\\lib\\net472\\SunnyUI.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\Common7\\IDE\\PublicAssemblies\\System.Buffers.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.ComponentModel.Composition.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Deployment.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Design.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\System.Diagnostics.DiagnosticSource.6.0.1\\lib\\net461\\System.Diagnostics.DiagnosticSource.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\System.Drawing.Common.6.0.0\\lib\\net461\\System.Drawing.Common.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Drawing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\System.Formats.Asn1.8.0.1\\lib\\net462\\System.Formats.Asn1.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.IO.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\System.IO.Packaging.6.0.0\\lib\\net461\\System.IO.Packaging.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\Common7\\IDE\\PublicAssemblies\\System.Memory.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Numerics.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\Common7\\IDE\\PublicAssemblies\\System.Numerics.Vectors.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\Common7\\IDE\\PublicAssemblies\\System.Runtime.CompilerServices.Unsafe.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.Runtime.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.Security.Cryptography.Algorithms.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.Security.Cryptography.Encoding.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.Security.Cryptography.Primitives.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.Security.Cryptography.X509Certificates.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Security.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\System.Text.Encodings.Web.8.0.0\\lib\\net462\\System.Text.Encodings.Web.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\System.Text.Json.8.0.4\\lib\\net462\\System.Text.Json.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Facades\\System.Text.RegularExpressions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\System.Threading.Tasks.Extensions.4.5.4\\lib\\net461\\System.Threading.Tasks.Extensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\Common7\\IDE\\PublicAssemblies\\System.ValueTuple.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Web.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Web.Extensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Windows.Forms.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Xaml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\WindowsBase.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\packages\\XLParser.1.5.2\\lib\\net461\\XLParser.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\bin\\Debug\\革博士AI智能检测系统.exe","OutputItemRelativePath":"革博士AI智能检测系统.exe"},{"OutputItemFullPath":"E:\\CPL\\迈沐智能项目\\2023\\革博士\\源码\\V1.0\\LeatherProject\\LeatherApp\\bin\\Debug\\革博士AI智能检测系统.pdb","OutputItemRelativePath":"革博士AI智能检测系统.pdb"}],"CopyToOutputEntries":[]}
\ No newline at end of file
diff --git a/LeatherProject/LeatherApp/App.config b/LeatherProject/LeatherApp/App.config
index f056a3f..dff6b05 100644
--- a/LeatherProject/LeatherApp/App.config
+++ b/LeatherProject/LeatherApp/App.config
@@ -1,8 +1,5 @@
-
-
-
@@ -34,10 +31,4 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/LeatherProject/LeatherApp/Config.cs b/LeatherProject/LeatherApp/Config.cs
index 75ce32c..2450c60 100644
--- a/LeatherProject/LeatherApp/Config.cs
+++ b/LeatherProject/LeatherApp/Config.cs
@@ -39,6 +39,10 @@ namespace LeatherApp
public static string ErpDBConStr = "server=localhost;Database=LeatherDB;Uid=root;Pwd=123456; AllowLoadLocalInfile=true";
public static string ErpSql = "select top 1 a,b,c from tableA where code=@code order by id desc";
+ //使用oracle数据库
+ public static bool OracleDB = false;
+ //远程服务器连接字段
+ public static string ServerDBConStr = "server=localhost;Database=LeatherDB;Uid=root;Pwd=123456; AllowLoadLocalInfile=true";
//LOG
public static string LogPath;
@@ -146,9 +150,12 @@ namespace LeatherApp
//[DB]
DBConStr = ini.ReadString("DB", "DBConStr", "");
+ OracleDB = ini.ReadBool("DB", "OracleDB");
//[Erp]
ErpDBConStr = ini.ReadString("ErpDB", "ErpDBConStr", "");
ErpSql = ini.ReadString("ErpDB", "ErpSql", "");
+ ServerDBConStr = ini.ReadString("ErpDB", "ServerDBConStr", "");
+
//[LOG]
LogPath = ini.ReadString("LOG", "LogPath", "");
diff --git a/LeatherProject/LeatherApp/DevContainer.cs b/LeatherProject/LeatherApp/DevContainer.cs
index 2c45b64..c74aa3d 100644
--- a/LeatherProject/LeatherApp/DevContainer.cs
+++ b/LeatherProject/LeatherApp/DevContainer.cs
@@ -165,66 +165,82 @@ namespace LeatherApp
{
//if (confMgr.SysConfigParams.OpenLengthCount)
{
- byte[] clearData = new byte[] { 0x01, 0x06, 0x00, 0x00, 0x00, 0x01, 0x48, 0x0a };
- lengthCounter.Write(clearData, 0, 8);
- //Thread.Sleep(100);
- Thread.Sleep(20);
- byte[] recv = new byte[64];
- //string recvdata = serialPort.ReadLine();
- //recv = recvdata.ToBytes();
- int readCnt = lengthCounter.BytesToRead;
- lengthCounter.Read(recv, 0, readCnt);
+ if (lengthCounter.IsOpen)
+ {
+ for (int t = 0; t < 3; t++)
+ {
+ byte[] clearData = new byte[] { 0x01, 0x06, 0x00, 0x00, 0x00, 0x01, 0x48, 0x0a };
+ lengthCounter.Write(clearData, 0, 8);
+ //Thread.Sleep(100);
+ Thread.Sleep(20);
+ byte[] recv = new byte[64];
+ //string recvdata = serialPort.ReadLine();
+ //recv = recvdata.ToBytes();
+ int readCnt = lengthCounter.BytesToRead;
+ lengthCounter.Read(recv, 0, readCnt);
+ Thread.Sleep(100);
+ }
+ }
}
}
+
+ private object JMLock = new object();
///
/// 获取计米数据
///
///
public double GetLength()
{
- //bool isFile = true;
- double length = -99;
- bool GetData = false;
- if (lengthCounter.IsOpen)
+ //lock (JMLock)
{
- byte[] data = new byte[] { 0x01, 0x03, 0x00, 0x21, 0x00, 0x02, 0x94, 0x01 };
- lengthCounter.Write(data, 0, 8);
- Thread.Sleep(20);
- byte[] recv = new byte[64];
- //string recvdata = serialPort.ReadLine();
- //recv = recvdata.ToBytes();
- int readCnt = lengthCounter.BytesToRead;
- //readCnt = 9;
- lengthCounter.Read(recv, 0, readCnt);
- byte[] bytes = new byte[4];
- for (int i = 0; i < readCnt; i++)
+ //bool isFile = true;
+ double length = -9999;
+ bool GetData = false;
+ if (lengthCounter.IsOpen)
{
- if (recv[i] == 0x01 && recv[i + 1] == 0x03 && recv[i + 2] == 0x04)
+ //for (int t = 0; t < 5; t++)
{
- bytes[0] = recv[i + 3];
- bytes[1] = recv[i + 4];
- bytes[2] = recv[i + 5];
- bytes[3] = recv[i + 6];
- GetData = true;
+ byte[] data = new byte[] { 0x01, 0x03, 0x00, 0x21, 0x00, 0x02, 0x94, 0x01 };
+ lengthCounter.Write(data, 0, 8);
+ Thread.Sleep(20);
+ byte[] recv = new byte[64];
+ //string recvdata = serialPort.ReadLine();
+ //recv = recvdata.ToBytes();
+ int readCnt = lengthCounter.BytesToRead;
+ //readCnt = 9;
+ lengthCounter.Read(recv, 0, readCnt);
+ byte[] bytes = new byte[4];
+ for (int i = 0; i < readCnt; i++)
+ {
+ if (recv[i] == 0x01 && recv[i + 1] == 0x03 && recv[i + 2] == 0x04)
+ {
+ bytes[0] = recv[i + 3];
+ bytes[1] = recv[i + 4];
+ bytes[2] = recv[i + 5];
+ bytes[3] = recv[i + 6];
+ GetData = true;
+ }
+ }
+ if (GetData)
+ {
+ if (BitConverter.IsLittleEndian)
+ Array.Reverse(bytes);
+ int spddata = BitConverter.ToInt32(bytes, 0);
+ length = spddata / 100.0;
+ //break;
+ //if (isFile)
+ // length = -length;
+ }
+ Thread.Sleep(20);
}
+ if (length > 10000)
+ return -100000;
}
- if (GetData)
- {
- if (BitConverter.IsLittleEndian)
- Array.Reverse(bytes);
- int spddata = BitConverter.ToInt32(bytes, 0);
- length = spddata / 100.0;
-
- //if (isFile)
- // length = -length;
- }
- if (length > 10000)
- return -1;
+ else
+ { return -100000; }
+ return Math.Abs(length);
}
- else
- { return -100; }
- return Math.Abs(length);
}
#endregion
///
diff --git a/LeatherProject/LeatherApp/Device/CamerCardDevIK.cs b/LeatherProject/LeatherApp/Device/CamerCardDevIK.cs
index 6a51035..78dade9 100644
--- a/LeatherProject/LeatherApp/Device/CamerCardDevIK.cs
+++ b/LeatherProject/LeatherApp/Device/CamerCardDevIK.cs
@@ -175,10 +175,10 @@ namespace LeatherApp.Device
mydate = frameQueue.Dequeue();
}
PhotoNumCacheEvent?.Invoke(frameQueue.Count);
- WarningEvent?.BeginInvoke(DateTime.Now, WarningEnum.Normal, $"相机({_scannerCardIndex})从缓存队列提取一帧图像({mydate.index}),开始回调(队列剩余帧数:{frameQueue.Count})...", null, null);
+ WarningEvent?.BeginInvoke(DateTime.Now, WarningEnum.Normal, $"t相机({_scannerCardIndex})从缓存队列提取一帧图像({mydate.index}),开始回调(队列剩余帧数:{frameQueue.Count})...", null, null);
//ScanEvent?.Invoke(mydate.index, mydate.mat, _scannerCardIndex);
- WarningEvent?.BeginInvoke(DateTime.Now, WarningEnum.Normal, $"相机({_scannerCardIndex})图像({mydate.index})回调完成.", null, null);
+ WarningEvent?.BeginInvoke(DateTime.Now, WarningEnum.Normal, $"t相机({_scannerCardIndex})图像({mydate.index})回调完成.", null, null);
index = mydate.index;
img = mydate.mat.Clone();
dev = _scannerCardIndex;
diff --git a/LeatherProject/LeatherApp/Device/DefectLib.cs b/LeatherProject/LeatherApp/Device/DefectLib.cs
index cb7fadc..4f59c91 100644
--- a/LeatherProject/LeatherApp/Device/DefectLib.cs
+++ b/LeatherProject/LeatherApp/Device/DefectLib.cs
@@ -245,6 +245,7 @@ namespace LeatherApp.Device
{
if (preModelName != modelPath)
{
+ //WarningEvent?.Invoke(DateTime.Now, WarningEnum.Normal, $"模型加载({modelPath})" );
step = 3;
//先释放模型
if (detector != IntPtr.Zero)
@@ -350,7 +351,7 @@ namespace LeatherApp.Device
tPGDetect.Processing(task.ho_Img, out task.ho_imgG, out task.ho_ImageResult3, out task.ho_ImageSub,
Config.HalconParamPath,
out task.hv_RES, out task.hv_gauss_filter1, out task.hv_gauss_filter2,
- out task.hv_Energy_value, out task.hv_Region_S_value, out task.hv_class);
+ out task.hv_Energy_value, out task.hv_Region_S_value, out task.hv_AreaThr, out task.hv_class);
stopwatch.Stop();
task.stopwatch[1] = stopwatch.ElapsedMilliseconds;
@@ -436,7 +437,7 @@ namespace LeatherApp.Device
step = 22;
//算法处理
tPGDetect.Detect(task.ho_Img, task.ho_imgG, task.ho_ImageResult3, task.ho_ImageSub,
- task.hv_Energy_value, task.hv_Region_S_value, task.hv_class,
+ task.hv_Energy_value, task.hv_Region_S_value, task.hv_AreaThr, task.hv_class,
out task.hv_defectinfo, out task.object_num);
stopwatch.Stop();
@@ -1249,8 +1250,11 @@ namespace LeatherApp.Device
public HObject ho_imgG = new HObject();
public HObject ho_ImageResult3 = new HObject();
public HObject ho_ImageSub = new HObject();
- public HTuple hv_RES, hv_gauss_filter1, hv_gauss_filter2, hv_Energy_value, hv_Region_S_value, hv_class, hv_defectinfo;
+ public HTuple hv_RES, hv_gauss_filter1, hv_gauss_filter2, hv_Energy_value, hv_Region_S_value, hv_AreaThr, hv_class, hv_defectinfo;
public int object_num = 0;
+
+ //图片位置
+ public double PicDis;
}
public void add(DefectTask task)
diff --git a/LeatherProject/LeatherApp/LeatherApp.csproj b/LeatherProject/LeatherApp/LeatherApp.csproj
index b79b45d..641fcc6 100644
--- a/LeatherProject/LeatherApp/LeatherApp.csproj
+++ b/LeatherProject/LeatherApp/LeatherApp.csproj
@@ -99,7 +99,8 @@
..\packages\OpenCvSharp4.Extensions.4.7.0.20230115\lib\net48\OpenCvSharp.Extensions.dll
- ..\packages\Oracle.ManagedDataAccess.23.6.0\lib\net472\Oracle.ManagedDataAccess.dll
+ False
+ Dll\Oracle.ManagedDataAccess.dll
Dll\PG_Detect.dll
@@ -414,12 +415,6 @@
UIDefectEdit.cs
-
- Designer
-
-
- Designer
-
diff --git a/LeatherProject/LeatherApp/Oracle.DataAccess.Common.Configuration.Section.xsd b/LeatherProject/LeatherApp/Oracle.DataAccess.Common.Configuration.Section.xsd
deleted file mode 100644
index bf15d01..0000000
--- a/LeatherProject/LeatherApp/Oracle.DataAccess.Common.Configuration.Section.xsd
+++ /dev/null
@@ -1,138 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/LeatherProject/LeatherApp/Oracle.ManagedDataAccess.Client.Configuration.Section.xsd b/LeatherProject/LeatherApp/Oracle.ManagedDataAccess.Client.Configuration.Section.xsd
deleted file mode 100644
index 1b75a1d..0000000
--- a/LeatherProject/LeatherApp/Oracle.ManagedDataAccess.Client.Configuration.Section.xsd
+++ /dev/null
@@ -1,221 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/LeatherProject/LeatherApp/Page/FHome.Designer.cs b/LeatherProject/LeatherApp/Page/FHome.Designer.cs
index 16114f8..731a094 100644
--- a/LeatherProject/LeatherApp/Page/FHome.Designer.cs
+++ b/LeatherProject/LeatherApp/Page/FHome.Designer.cs
@@ -28,14 +28,14 @@
///
private void InitializeComponent()
{
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle17 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle18 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle22 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle23 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle24 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle19 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle20 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle21 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
this.uiPanel1 = new Sunny.UI.UIPanel();
this.lblLen = new Sunny.UI.UILabel();
this.lblSpeed = new Sunny.UI.UISymbolLabel();
@@ -51,6 +51,7 @@
this.txtBarCode = new Sunny.UI.UITextBox();
this.uiLabel1 = new Sunny.UI.UILabel();
this.uiPanel2 = new Sunny.UI.UIPanel();
+ this.button3 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.btnPause = new Sunny.UI.UISymbolButton();
@@ -59,7 +60,6 @@
this.btnEnd = new Sunny.UI.UISymbolButton();
this.btnStart = new Sunny.UI.UISymbolButton();
this.uiTitlePanel2 = new Sunny.UI.UITitlePanel();
- this.ucColorListDefect = new LeatherApp.UIExtend.UCColorList();
this.lineChartDefect = new Sunny.UI.UILineChart();
this.uiTitlePanel3 = new Sunny.UI.UITitlePanel();
this.uiDataGridView1 = new Sunny.UI.UIDataGridView();
@@ -82,7 +82,6 @@
this.lstboxLog = new Sunny.UI.UIListBox();
this.uiTitlePanel6 = new Sunny.UI.UITitlePanel();
this.uiPanel3 = new Sunny.UI.UIPanel();
- this.picDefectImage = new LeatherApp.UIExtend.UCImageView();
this.pnlScannerImg = new Sunny.UI.UITitlePanel();
this.picScanner2 = new System.Windows.Forms.PictureBox();
this.picScanner1 = new System.Windows.Forms.PictureBox();
@@ -101,7 +100,8 @@
this.uiLabel8 = new Sunny.UI.UILabel();
this.uiLabel7 = new Sunny.UI.UILabel();
this.uiLabel6 = new Sunny.UI.UILabel();
- this.button3 = new System.Windows.Forms.Button();
+ this.picDefectImage = new LeatherApp.UIExtend.UCImageView();
+ this.ucColorListDefect = new LeatherApp.UIExtend.UCColorList();
this.uiPanel1.SuspendLayout();
this.uiTitlePanel1.SuspendLayout();
this.uiPanel2.SuspendLayout();
@@ -444,6 +444,17 @@
this.uiPanel2.Text = null;
this.uiPanel2.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
//
+ // button3
+ //
+ this.button3.Location = new System.Drawing.Point(649, 23);
+ this.button3.Name = "button3";
+ this.button3.Size = new System.Drawing.Size(50, 36);
+ this.button3.TabIndex = 3;
+ this.button3.Text = "ERP";
+ this.button3.UseVisualStyleBackColor = true;
+ this.button3.Visible = false;
+ this.button3.Click += new System.EventHandler(this.button3_Click);
+ //
// button2
//
this.button2.Location = new System.Drawing.Point(593, 23);
@@ -461,7 +472,7 @@
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(50, 36);
this.button1.TabIndex = 1;
- this.button1.Text = "button1";
+ this.button1.Text = "调试";
this.button1.UseVisualStyleBackColor = true;
this.button1.Visible = false;
this.button1.Click += new System.EventHandler(this.button1_Click);
@@ -648,29 +659,6 @@
this.uiTitlePanel2.TitleColor = System.Drawing.Color.White;
this.uiTitlePanel2.TitleForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
//
- // ucColorListDefect
- //
- this.ucColorListDefect.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.ucColorListDefect.ColorChanged = null;
- this.ucColorListDefect.FillColor = System.Drawing.Color.White;
- this.ucColorListDefect.FillColor2 = System.Drawing.Color.White;
- this.ucColorListDefect.FillDisableColor = System.Drawing.Color.White;
- this.ucColorListDefect.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.ucColorListDefect.Location = new System.Drawing.Point(1, 38);
- this.ucColorListDefect.MinimumSize = new System.Drawing.Size(1, 1);
- this.ucColorListDefect.Name = "ucColorListDefect";
- this.ucColorListDefect.RadiusSides = Sunny.UI.UICornerRadiusSides.None;
- this.ucColorListDefect.RectColor = System.Drawing.Color.White;
- this.ucColorListDefect.RectDisableColor = System.Drawing.Color.White;
- this.ucColorListDefect.RectSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom;
- this.ucColorListDefect.Size = new System.Drawing.Size(121, 42);
- this.ucColorListDefect.Style = Sunny.UI.UIStyle.Custom;
- this.ucColorListDefect.StyleCustomMode = true;
- this.ucColorListDefect.TabIndex = 1;
- this.ucColorListDefect.Text = "ucColorList1";
- this.ucColorListDefect.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
- //
// lineChartDefect
//
this.lineChartDefect.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@@ -720,21 +708,21 @@
//
// uiDataGridView1
//
- dataGridViewCellStyle17.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(251)))), ((int)(((byte)(250)))));
- this.uiDataGridView1.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle17;
+ dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(251)))), ((int)(((byte)(250)))));
+ this.uiDataGridView1.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
this.uiDataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.uiDataGridView1.BackgroundColor = System.Drawing.Color.White;
this.uiDataGridView1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
- dataGridViewCellStyle18.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
- dataGridViewCellStyle18.BackColor = System.Drawing.Color.Blue;
- dataGridViewCellStyle18.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle18.ForeColor = System.Drawing.Color.White;
- dataGridViewCellStyle18.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
- dataGridViewCellStyle18.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle18.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.uiDataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle18;
+ dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+ dataGridViewCellStyle2.BackColor = System.Drawing.Color.Blue;
+ dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White;
+ dataGridViewCellStyle2.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
+ dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.uiDataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
this.uiDataGridView1.ColumnHeadersHeight = 32;
this.uiDataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.uiDataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
@@ -749,14 +737,14 @@
this.colArea,
this.colZXD,
this.colTarget});
- dataGridViewCellStyle22.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
- dataGridViewCellStyle22.BackColor = System.Drawing.Color.White;
- dataGridViewCellStyle22.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle22.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- dataGridViewCellStyle22.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(242)))), ((int)(((byte)(238)))));
- dataGridViewCellStyle22.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- dataGridViewCellStyle22.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
- this.uiDataGridView1.DefaultCellStyle = dataGridViewCellStyle22;
+ dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle6.BackColor = System.Drawing.Color.White;
+ dataGridViewCellStyle6.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle6.ForeColor = System.Drawing.Color.White;
+ dataGridViewCellStyle6.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(242)))), ((int)(((byte)(238)))));
+ dataGridViewCellStyle6.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+ this.uiDataGridView1.DefaultCellStyle = dataGridViewCellStyle6;
this.uiDataGridView1.EnableHeadersVisualStyles = false;
this.uiDataGridView1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiDataGridView1.GridColor = System.Drawing.Color.CornflowerBlue;
@@ -764,21 +752,21 @@
this.uiDataGridView1.MultiSelect = false;
this.uiDataGridView1.Name = "uiDataGridView1";
this.uiDataGridView1.RectColor = System.Drawing.Color.DodgerBlue;
- dataGridViewCellStyle23.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
- dataGridViewCellStyle23.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(251)))), ((int)(((byte)(250)))));
- dataGridViewCellStyle23.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle23.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- dataGridViewCellStyle23.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
- dataGridViewCellStyle23.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- dataGridViewCellStyle23.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.uiDataGridView1.RowHeadersDefaultCellStyle = dataGridViewCellStyle23;
+ dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(251)))), ((int)(((byte)(250)))));
+ dataGridViewCellStyle7.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ dataGridViewCellStyle7.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(29)))), ((int)(((byte)(138)))));
+ dataGridViewCellStyle7.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.uiDataGridView1.RowHeadersDefaultCellStyle = dataGridViewCellStyle7;
this.uiDataGridView1.RowHeadersWidth = 62;
- dataGridViewCellStyle24.BackColor = System.Drawing.Color.White;
- dataGridViewCellStyle24.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle24.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- dataGridViewCellStyle24.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(242)))), ((int)(((byte)(238)))));
- dataGridViewCellStyle24.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- this.uiDataGridView1.RowsDefaultCellStyle = dataGridViewCellStyle24;
+ dataGridViewCellStyle8.BackColor = System.Drawing.Color.White;
+ dataGridViewCellStyle8.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle8.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ dataGridViewCellStyle8.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(242)))), ((int)(((byte)(238)))));
+ dataGridViewCellStyle8.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ this.uiDataGridView1.RowsDefaultCellStyle = dataGridViewCellStyle8;
this.uiDataGridView1.RowTemplate.Height = 30;
this.uiDataGridView1.ScrollBarBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(251)))), ((int)(((byte)(250)))));
this.uiDataGridView1.ScrollBarColor = System.Drawing.Color.DodgerBlue;
@@ -829,9 +817,9 @@
// colX
//
this.colX.DataPropertyName = "X";
- dataGridViewCellStyle19.Format = "N1";
- dataGridViewCellStyle19.NullValue = null;
- this.colX.DefaultCellStyle = dataGridViewCellStyle19;
+ dataGridViewCellStyle3.Format = "N1";
+ dataGridViewCellStyle3.NullValue = null;
+ this.colX.DefaultCellStyle = dataGridViewCellStyle3;
this.colX.HeaderText = "X(cm)";
this.colX.MinimumWidth = 8;
this.colX.Name = "colX";
@@ -841,9 +829,9 @@
// colY
//
this.colY.DataPropertyName = "Y";
- dataGridViewCellStyle20.Format = "N2";
- dataGridViewCellStyle20.NullValue = null;
- this.colY.DefaultCellStyle = dataGridViewCellStyle20;
+ dataGridViewCellStyle4.Format = "N2";
+ dataGridViewCellStyle4.NullValue = null;
+ this.colY.DefaultCellStyle = dataGridViewCellStyle4;
this.colY.HeaderText = "Y(米)";
this.colY.MinimumWidth = 8;
this.colY.Name = "colY";
@@ -866,9 +854,9 @@
//
// colArea
//
- dataGridViewCellStyle21.Format = "N2";
- dataGridViewCellStyle21.NullValue = null;
- this.colArea.DefaultCellStyle = dataGridViewCellStyle21;
+ dataGridViewCellStyle5.Format = "N2";
+ dataGridViewCellStyle5.NullValue = null;
+ this.colArea.DefaultCellStyle = dataGridViewCellStyle5;
this.colArea.HeaderText = "面积(mm²)";
this.colArea.MinimumWidth = 8;
this.colArea.Name = "colArea";
@@ -1077,15 +1065,6 @@
this.uiPanel3.Text = null;
this.uiPanel3.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
//
- // picDefectImage
- //
- this.picDefectImage.Dock = System.Windows.Forms.DockStyle.Fill;
- this.picDefectImage.Location = new System.Drawing.Point(0, 0);
- this.picDefectImage.Margin = new System.Windows.Forms.Padding(0);
- this.picDefectImage.Name = "picDefectImage";
- this.picDefectImage.Size = new System.Drawing.Size(350, 226);
- this.picDefectImage.TabIndex = 1;
- //
// pnlScannerImg
//
this.pnlScannerImg.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@@ -1374,15 +1353,37 @@
this.uiLabel6.Text = "光源";
this.uiLabel6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
- // button3
+ // picDefectImage
//
- this.button3.Location = new System.Drawing.Point(649, 23);
- this.button3.Name = "button3";
- this.button3.Size = new System.Drawing.Size(50, 36);
- this.button3.TabIndex = 3;
- this.button3.Text = "ERP";
- this.button3.UseVisualStyleBackColor = true;
- this.button3.Click += new System.EventHandler(this.button3_Click);
+ this.picDefectImage.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.picDefectImage.Location = new System.Drawing.Point(0, 0);
+ this.picDefectImage.Margin = new System.Windows.Forms.Padding(0);
+ this.picDefectImage.Name = "picDefectImage";
+ this.picDefectImage.Size = new System.Drawing.Size(350, 226);
+ this.picDefectImage.TabIndex = 1;
+ //
+ // ucColorListDefect
+ //
+ this.ucColorListDefect.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.ucColorListDefect.ColorChanged = null;
+ this.ucColorListDefect.FillColor = System.Drawing.Color.White;
+ this.ucColorListDefect.FillColor2 = System.Drawing.Color.White;
+ this.ucColorListDefect.FillDisableColor = System.Drawing.Color.White;
+ this.ucColorListDefect.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.ucColorListDefect.Location = new System.Drawing.Point(1, 38);
+ this.ucColorListDefect.MinimumSize = new System.Drawing.Size(1, 1);
+ this.ucColorListDefect.Name = "ucColorListDefect";
+ this.ucColorListDefect.RadiusSides = Sunny.UI.UICornerRadiusSides.None;
+ this.ucColorListDefect.RectColor = System.Drawing.Color.White;
+ this.ucColorListDefect.RectDisableColor = System.Drawing.Color.White;
+ this.ucColorListDefect.RectSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom;
+ this.ucColorListDefect.Size = new System.Drawing.Size(121, 42);
+ this.ucColorListDefect.Style = Sunny.UI.UIStyle.Custom;
+ this.ucColorListDefect.StyleCustomMode = true;
+ this.ucColorListDefect.TabIndex = 1;
+ this.ucColorListDefect.Text = "ucColorList1";
+ this.ucColorListDefect.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
//
// FHome
//
diff --git a/LeatherProject/LeatherApp/Page/FHome.cs b/LeatherProject/LeatherApp/Page/FHome.cs
index 94b5ef6..89d68f1 100644
--- a/LeatherProject/LeatherApp/Page/FHome.cs
+++ b/LeatherProject/LeatherApp/Page/FHome.cs
@@ -1,6 +1,6 @@
#define OnLine
#define JM
-#define Oracle //禾欣使用oracle数据库
+//#define Oracle //禾欣使用oracle数据库
#define NT //新流程
using IKapC.NET;
@@ -14,6 +14,7 @@ using Newtonsoft.Json.Linq;
using OpenCvSharp;
using OpenCvSharp.Extensions;
using S7.Net;
+using Service;
using SqlSugar;
using Sunny.UI;
using Sunny.UI.Win32;
@@ -917,8 +918,11 @@ namespace LeatherApp.Page
}
};
//相机回调出照片
+#if NT
+#else
devContainer.devCamer1.ScanEvent = callBackScanMatEvent;
devContainer.devCamer2.ScanEvent = callBackScanMatEvent;
+#endif
//devContainer.devScannerGentl1.ScanEventPath = callBackScanPathEvent;
//devContainer.devScannerGentl2.ScanEventPath = callBackScanPathEvent;
devContainer.devCamer1.PhotoNumCacheEvent = (num) =>
@@ -998,7 +1002,7 @@ namespace LeatherApp.Page
#else
var data = Utils.DBUtils.execSql(Config.ErpSql, paramList);
#endif
- if (data != null && data.Rows.Count < 1)
+ if (data == null || data.Rows.Count < 1)
{
AddTextEvent(DateTime.Now,"Erp查询结果", $"{barCode}: 时长={stopwatch.ElapsedMilliseconds}ms, 无数据!", WarningEnum.Normal);
return null;
@@ -1093,6 +1097,7 @@ namespace LeatherApp.Page
private void Cam1ThreadFunction()
{
int errStep = 0;
+ AddTextEvent(DateTime.Now, "相机流程1", $"流程启动!");
#if OnLine
#else
string imgfilePath = "D:\\CPL\\img\\L1.bmp";
@@ -1127,22 +1132,25 @@ namespace LeatherApp.Page
//AcquisitionMat acq = _LinecamDev1.GetFrames(100);
if (gsts)
{
+ //double stLen = devContainer.GetLength();
+
Cv2.Flip(Image, Image, FlipMode.XY);//翻转
AddTextEvent(DateTime.Now, $"拍照", $"采集卡({devNo}),图像({index})", WarningEnum.Normal, false);
this.BeginInvoke(new Action(() =>
{
- Bitmap bitmap = BitmapConverter.ToBitmap(Image);
+ Bitmap bitmap = Image.ToBitmap();
+ //Bitmap bitmap = BitmapConverter.ToBitmap(Image);
//bitmap.Save($"d:\\{devIndex}_{num}.bmp", ImageFormat.Bmp);
//显示图片
if (devNo == 0)
{
picScanner2.Image = bitmap;
- picScanner2.Refresh();
+ //picScanner2.Refresh();
}
else
{
picScanner1.Image = bitmap;
- picScanner1.Refresh();
+ //picScanner1.Refresh();
}
}));
@@ -1160,22 +1168,22 @@ namespace LeatherApp.Page
if (!devContainer.state || (currentState != CurrentStateEnum.运行中 && currentState != CurrentStateEnum.暂停))
{
Image.Dispose();
- return;
+ continue;
}
if (currKey != 0 || htTask.ContainsKey(currKey))
{
Records curRecord = Hashtable.Synchronized(htTask)[currKey] as Records;
//长度剩余提醒
- if (Config.residueWarnningLen > 0 && curRecord.ErpLen > 0 && Config.residueWarnningLen >= curRecord.ErpLen - curRecord.Len)
+ if (Config.residueWarnningLen > 0 && curRecord.ErpLen > 0 && Config.residueWarnningLen >= Math.Abs(curRecord.ErpLen - curRecord.Len))
{
- AddTextEvent(DateTime.Now, $"告警", $"已达剩余长度不足提醒!({curRecord.ErpLen - curRecord.Len}<={Config.residueWarnningLen})", WarningEnum.High);
+ AddTextEvent(DateTime.Now, $"告警", $"已达剩余长度不足提醒!(({curRecord.ErpLen} -{ curRecord.Len})<={Config.residueWarnningLen})", WarningEnum.High);
#region 剩余提示暂停
if (!_residueWarnningLenStop)
{
_residueWarnningLenStop = true;
- AddTextEvent(DateTime.Now, $"暂停", $"已达剩余长度不足提醒!({curRecord.ErpLen - curRecord.Len}<={Config.residueWarnningLen}),进入暂停。");
+ AddTextEvent(DateTime.Now, $"暂停", $"已达剩余长度不足提醒!(({curRecord.ErpLen} - {curRecord.Len})<={Config.residueWarnningLen}),进入暂停。");
if (!Config.StopPLC)
this.devContainer.devPlc.pauseDev();
else if (!Config.StopIO && devContainer.devIOCard.IsInit)
@@ -1194,7 +1202,7 @@ namespace LeatherApp.Page
this.BeginInvoke(new System.Action(() =>
{
//warning(WarningEnum.Low, true);//暂停
- MessageBox.Show($"已达剩余长度不足提醒!({curRecord.ErpLen - curRecord.Len}<={Config.residueWarnningLen}),进入暂停。", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ MessageBox.Show($"已达剩余长度不足提醒!({Math.Abs(curRecord.ErpLen - curRecord.Len)}<={Config.residueWarnningLen}),进入暂停。", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}));
}
#endregion
@@ -1236,33 +1244,6 @@ namespace LeatherApp.Page
AddTextEvent(DateTime.Now, $"拍照", $"Dev={devNo},图像{index} {liPhotoIndex}={index}-{Config.defectPauseSkipPhotoCount};", WarningEnum.Normal, false);
if (liPhotoIndex >= 0 && curRecord.dicPhoto_Defect.ContainsKey(liPhotoIndex) && curRecord.dicPhoto_Defect[liPhotoIndex])
{
- //暂停
- AddTextEvent(DateTime.Now, $"暂停", $"(图像{liPhotoIndex})需瑕疵二次判断,已达观察台,进入暂停。");
- if (!Config.StopPLC)
- this.devContainer.devPlc.pauseDev();
- else if (!Config.StopIO && devContainer.devIOCard.IsInit)
- {
- //只是设备暂停,APP没暂停
- devContainer.io_output(CMDName.绿灯输出, false, true, 0);
- devContainer.io_output(CMDName.黄灯输出);
- devContainer.devIOCard.writeBitState(0, 1, true);
- //Task.Run(async () =>
- //{
- // await Task.Delay(500);
- Thread.Sleep(200);
- this.devContainer.devIOCard.writeBitState(0, 1, false);
- //});
- if (Config.OpenBeep)
- {
- devContainer.io_output(CMDName.蜂鸣器输出, false, true, Config.BeepTime);
- //Task.Run(async () =>
- //{
- // devContainer.io_output(CMDName.蜂鸣器输出, false, true, Config.BeepTime);
- // await Task.Delay(5);
- //});
- }
-
- }
errStep = 8;
for (int fi = 0; fi < 3; fi++)
{
@@ -1273,6 +1254,31 @@ namespace LeatherApp.Page
//瑕疵选项过滤
if (Config.OpenHalconDefect || curRecord.ProductInfo.DefectPauseOption.Count == 0 || lstEditDefect.Where(x => curRecord.ProductInfo.DefectPauseOption.Contains(x.Code)).Count() > 0)
{
+ //暂停
+ AddTextEvent(DateTime.Now, $"暂停", $"(图像{liPhotoIndex})需瑕疵二次判断,已达观察台,进入暂停。");
+ if (!Config.StopPLC)
+ this.devContainer.devPlc.pauseDev();
+ else if (!Config.StopIO && devContainer.devIOCard.IsInit)
+ {
+ //只是设备暂停,APP没暂停
+ devContainer.io_output(CMDName.绿灯输出, false, true, 0);
+ devContainer.io_output(CMDName.黄灯输出);
+ devContainer.devIOCard.writeBitState(0, 1, true);
+ Task.Run(async () =>
+ {
+ await Task.Delay(500);
+ this.devContainer.devIOCard.writeBitState(0, 1, false);
+ });
+ if (Config.OpenBeep)
+ {
+ Task.Run(async () =>
+ {
+ devContainer.io_output(CMDName.蜂鸣器输出, false, true, Config.BeepTime);
+ await Task.Delay(5);
+ });
+ }
+
+ }
errStep = 9;
//不能使用同步Invoke方式,会使相机超时丢帧
this.BeginInvoke(new System.Action(() =>
@@ -1380,13 +1386,19 @@ namespace LeatherApp.Page
devContainer.io_output(CMDName.绿灯输出, false, true, 0);
devContainer.io_output(CMDName.黄灯输出);
devContainer.devIOCard.writeBitState(0, 1, true);
- Thread.Sleep(200);
- this.devContainer.devIOCard.writeBitState(0, 1, false);
- //Task.Run(async () =>
- //{
- // await Task.Delay(500);
- // this.devContainer.devIOCard.writeBitState(0, 1, false);
- //});
+ Task.Run(async () =>
+ {
+ await Task.Delay(500);
+ this.devContainer.devIOCard.writeBitState(0, 1, false);
+ });
+ if (Config.OpenBeep)
+ {
+ Task.Run(async () =>
+ {
+ devContainer.io_output(CMDName.蜂鸣器输出, false, true, Config.BeepTime);
+ await Task.Delay(5);
+ });
+ }
}
}
errStep = 11;
@@ -1420,14 +1432,20 @@ namespace LeatherApp.Page
devContainer.io_output(CMDName.绿灯输出, false, true, 0);
devContainer.io_output(CMDName.黄灯输出);
devContainer.devIOCard.writeBitState(0, 1, true);
- Thread.Sleep(200);
- this.devContainer.devIOCard.writeBitState(0, 1, false);
- //Task.Run(async () =>
- //{
- // await Task.Delay(500);
- // this.devContainer.devIOCard.writeBitState(0, 1, false);
- //});
- }
+ Task.Run(async () =>
+ {
+ await Task.Delay(500);
+ this.devContainer.devIOCard.writeBitState(0, 1, false);
+ });
+ if (Config.OpenBeep)
+ {
+ Task.Run(async () =>
+ {
+ devContainer.io_output(CMDName.蜂鸣器输出, false, true, Config.BeepTime);
+ await Task.Delay(5);
+ });
+ }
+ }
}
}
}
@@ -1483,6 +1501,7 @@ namespace LeatherApp.Page
private void Cam2ThreadFunction()
{
int errStep = 0;
+ AddTextEvent(DateTime.Now, "相机流程2", $"流程启动!");
#if OnLine
#else
string imgfilePath = "D:\\CPL\\img\\L1.bmp";
@@ -1521,18 +1540,19 @@ namespace LeatherApp.Page
AddTextEvent(DateTime.Now, $"拍照", $"采集卡({devNo}),图像({index})", WarningEnum.Normal, false);
this.BeginInvoke(new Action(() =>
{
- Bitmap bitmap = BitmapConverter.ToBitmap(Image);
+ Bitmap bitmap = Image.ToBitmap();
+ //Bitmap bitmap = BitmapConverter.ToBitmap(Image);
//bitmap.Save($"d:\\{devIndex}_{num}.bmp", ImageFormat.Bmp);
//显示图片
if (devNo == 0)
{
picScanner2.Image = bitmap;
- picScanner2.Refresh();
+ //picScanner2.Refresh();
}
else
{
picScanner1.Image = bitmap;
- picScanner1.Refresh();
+ //picScanner1.Refresh();
}
}));
@@ -1550,8 +1570,9 @@ namespace LeatherApp.Page
if (!devContainer.state || (currentState != CurrentStateEnum.运行中 && currentState != CurrentStateEnum.暂停))
{
Image.Dispose();
- return;
+ continue;
}
+
_matList2.Enqueue(new tScanPhotoInfo(1, index, Image.Clone(), 0));
}
#else
@@ -1599,6 +1620,7 @@ namespace LeatherApp.Page
///
private void MainThreadFunction()
{
+ AddTextEvent(DateTime.Now, "处理流程流程", $"流程启动!");
Mat acq1 = new Mat();
Mat acq2 = new Mat();
#if OnLine
@@ -1640,6 +1662,7 @@ namespace LeatherApp.Page
if (!_matList2.TryDequeue(out tscanPhotos1))
AddTextEvent(DateTime.Now, $"图像出队列", $"图像{tscanPhotos0.photoIndex},异常相机2队列出队失败", WarningEnum.High, true);
+
Records curRecord = Hashtable.Synchronized(htTask)[currKey] as Records;
ScanPhotoInfo scanPhotos0 = new ScanPhotoInfo(tscanPhotos0.devIndex, tscanPhotos0.photoIndex, tscanPhotos0.mat);
ScanPhotoInfo scanPhotos1 = new ScanPhotoInfo(tscanPhotos1.devIndex, tscanPhotos1.photoIndex, tscanPhotos1.mat);
@@ -1723,36 +1746,41 @@ namespace LeatherApp.Page
// mat = OpenCVUtil.cutImage(mat, Config.MarginHoleWidth, 0, mat.Width - Config.MarginHoleWidth * 2, mat.Height);
//计算速度
- double lenMi = Math.Round(faceWidthX_cm / 100, 2);
- curRecord.Len = lenMi;
+ //
+ //
curRecord.TimeLen = pStopWatch.ElapsedMilliseconds / 1000.0d / 60.0d;//总时间 分
#if JM
double stLen = devContainer.GetLength();
- curRecord.Len = stLen;
-#else
- stLen = lenMi;
-#endif
- //ptTime = ptStopWatch.ElapsedMilliseconds / 1000.0d / 60.0d;//总时间 分
- this.BeginInvoke(new System.Action(() =>
+ if (stLen < 9999)
{
- //double sstLen = devContainer.GetLength();
- ptTime = ptStopWatch.ElapsedMilliseconds / 1000.0d / 60.0d;//总时间 分
- AddTextEvent(DateTime.Now, $"记录", $"(计米{stLen}米),时间:{ptTime}分; 速度:{Math.Round((stLen - ptLen) / ptTime, 2)}米/分", WarningEnum.Normal, false);
-
- this.lblLen.Text = $"{stLen}米";//$"{lenMi}米";
- this.lblLen.Tag = faceWidthX_cm;
-#if JM
- this.lblSpeed.Text = $"速度:{Math.Round((stLen - ptLen) / ptTime, 2)}米/分";//$"速度:{Math.Round(lenMi / curRecord.TimeLen, 2)}米/分";
+ curRecord.Len = stLen;
#else
- this.lblSpeed.Text = $"速度:{Math.Round(lenMi / curRecord.TimeLen, 2)}米/分";
+ double lenMi = Math.Round(faceWidthX_cm / 100, 2);
+ double stLen = lenMi;
+ curRecord.Len = lenMi;
#endif
- this.uilbKF.Text = $"当前幅宽:{faceWidthY_cm}cm";
-
- ptLen = stLen;
- ptStopWatch.Restart();//重新计时
- }));
+ //ptTime = ptStopWatch.ElapsedMilliseconds / 1000.0d / 60.0d;//总时间 分
+ this.BeginInvoke(new System.Action(() =>
+ {
+ //double sstLen = devContainer.GetLength();
+ ptTime = ptStopWatch.ElapsedMilliseconds / 1000.0d / 60.0d;//总时间 分
+ AddTextEvent(DateTime.Now, $"记录", $"(计米{stLen}米),时间:{ptTime}分; 速度:{Math.Round((stLen - ptLen) / ptTime, 2)}米/分", WarningEnum.Normal, false);
+ this.lblLen.Text = $"{stLen}米";//$"{lenMi}米";
+ this.lblLen.Tag = faceWidthX_cm;
+#if JM
+ this.lblSpeed.Text = $"速度:{Math.Round((stLen - ptLen) / ptTime, 2)}米/分";//$"速度:{Math.Round(lenMi / curRecord.TimeLen, 2)}米/分";
+#else
+ this.lblSpeed.Text = $"速度:{Math.Round(lenMi / curRecord.TimeLen, 2)}米/分";
+#endif
+ this.uilbKF.Text = $"当前幅宽:{faceWidthY_cm}cm";
+ ptLen = stLen;
+ ptStopWatch.Restart();//重新计时
+ }));
+#if JM
+ }
+#endif
//
errStep = 9;
time += $"->速度刷新({stopWatch.ElapsedMilliseconds})";
@@ -1771,6 +1799,7 @@ namespace LeatherApp.Page
qualifiedLimitList = curRecord.ProductInfo.QualifiedLimitList,
finishEvent = callBackDefectEvent,
xw = oxw,
+ //PicDis = picLoc,
});
errStep = 10;
time += $"->加入瑕疵待检队列({stopWatch.ElapsedMilliseconds})";
@@ -1817,7 +1846,10 @@ namespace LeatherApp.Page
}
}
}
- #endregion
+#endregion
+
+#if NT
+#else
///
///
///
@@ -2013,31 +2045,7 @@ namespace LeatherApp.Page
AddTextEvent(DateTime.Now, $"拍照", $"Dev={devIndex},图像{scanPhoto.photoIndex} {liPhotoIndex}={scanPhoto.photoIndex}-{Config.defectPauseSkipPhotoCount};", WarningEnum.Normal, false);
if (liPhotoIndex >= 0 && curRecord.dicPhoto_Defect[liPhotoIndex])
{
- //暂停
- AddTextEvent(DateTime.Now, $"暂停", $"(图像{liPhotoIndex})需瑕疵二次判断,已达观察台,进入暂停。");
- if (!Config.StopPLC)
- this.devContainer.devPlc.pauseDev();
- else if (!Config.StopIO && devContainer.devIOCard.IsInit)
- {
- //只是设备暂停,APP没暂停
- devContainer.io_output(CMDName.绿灯输出, false, true, 0);
- devContainer.io_output(CMDName.黄灯输出);
- devContainer.devIOCard.writeBitState(0, 1, true);
- Task.Run(async () =>
- {
- await Task.Delay(500);
- this.devContainer.devIOCard.writeBitState(0, 1, false);
- });
- if (Config.OpenBeep)
- {
- Task.Run(async () =>
- {
- devContainer.io_output(CMDName.蜂鸣器输出, false, true, Config.BeepTime);
- await Task.Delay(5);
- });
- }
-
- }
+
errStep = 8;
for (int fi = 0; fi < 3; fi++)
{
@@ -2048,6 +2056,31 @@ namespace LeatherApp.Page
//瑕疵选项过滤
if (Config.OpenHalconDefect || curRecord.ProductInfo.DefectPauseOption.Count == 0 || lstEditDefect.Where(x => curRecord.ProductInfo.DefectPauseOption.Contains(x.Code)).Count() > 0)
{
+ //暂停
+ AddTextEvent(DateTime.Now, $"暂停", $"(图像{liPhotoIndex})需瑕疵二次判断,已达观察台,进入暂停。");
+ if (!Config.StopPLC)
+ this.devContainer.devPlc.pauseDev();
+ else if (!Config.StopIO && devContainer.devIOCard.IsInit)
+ {
+ //只是设备暂停,APP没暂停
+ devContainer.io_output(CMDName.绿灯输出, false, true, 0);
+ devContainer.io_output(CMDName.黄灯输出);
+ devContainer.devIOCard.writeBitState(0, 1, true);
+ Task.Run(async () =>
+ {
+ await Task.Delay(500);
+ this.devContainer.devIOCard.writeBitState(0, 1, false);
+ });
+ if (Config.OpenBeep)
+ {
+ Task.Run(async () =>
+ {
+ devContainer.io_output(CMDName.蜂鸣器输出, false, true, Config.BeepTime);
+ await Task.Delay(5);
+ });
+ }
+
+ }
errStep = 9;
//不能使用同步Invoke方式,会使相机超时丢帧
this.BeginInvoke(new System.Action(() =>
@@ -2502,7 +2535,7 @@ namespace LeatherApp.Page
//System.GC.Collect();
}
}
-
+#endif
///
/// 处理完成回调
///
@@ -2558,6 +2591,7 @@ namespace LeatherApp.Page
Name = defectNameInfo.Value("name"),
X = double.Parse(res.excelTable.Rows[i]["X"].ToString()),//cm
Y = Math.Round((res.photoIndex * res.bmp.Height * 1.0d / Config.cm2px_y + double.Parse(res.excelTable.Rows[i]["Y"].ToString())), 2),//cm
+ //Y = Math.Round((res.PicDis * 100 - double.Parse(res.excelTable.Rows[i]["Y"].ToString())), 2),//cm
Width = double.Parse(res.excelTable.Rows[i]["W"].ToString()),//cm
Height = double.Parse(res.excelTable.Rows[i]["H"].ToString()),//cm
ZXD = double.Parse(res.excelTable.Rows[i]["置信度"].ToString()),
@@ -2779,6 +2813,20 @@ namespace LeatherApp.Page
if (!svcRecord.InsertNav(model))
throw new Exception("写库失败!");
AddTextEvent(DateTime.Now,"入库完成", $"({key}) 批号({model.BatchId})已完成检测。");
+
+ if(!string.IsNullOrEmpty(Config.ServerDBConStr))
+ {
+ try
+ {
+ InitDB.SendServerDB(Config.ServerDBConStr, model);
+ AddTextEvent(DateTime.Now, "上传完成", $"({key}) 批号({model.BatchId})已完成检测。");
+ }
+ catch (Exception ex)
+ {
+ AddTextEvent(DateTime.Now, "上传失败", $"({key}) 批号({model.BatchId}):{ex.Message}", WarningEnum.High);
+ }
+ }
+
htTask.Remove(key);
_isDefect = false;
}
@@ -2936,14 +2984,16 @@ namespace LeatherApp.Page
Mat mat2 = new Mat("E:\\CPL\\img\\R1.bmp");
while (IsTest)
{
-
+#if NT
+#else
callBackScanMatEvent(num1++, mat1.Clone(), 0);
callBackScanMatEvent(num2++, mat2.Clone(), 1);
+#endif
Thread.Sleep(1000);
}
}
- #endregion
+#endregion
private void btnPause_Click(object sender, EventArgs e)
{
AddTextEvent(DateTime.Now,"暂停", "下发暂停指令...");
@@ -3000,11 +3050,14 @@ namespace LeatherApp.Page
}
else//首次开始/结束后重新开始
{
-
+#if JM
devContainer.ClearLengthCount();
+#endif
devContainer.devCamer1.resetScanIndex();
devContainer.devCamer2.resetScanIndex();
+#if JM
ptLen = Math.Round(devContainer.GetLength(), 2);
+#endif
//校正从复位-》运行,不会新启动
resetUIValue();
AddTextEvent(DateTime.Now,"启动", "开始测试...");
@@ -3093,6 +3146,22 @@ namespace LeatherApp.Page
Task.Run(() => { saveCurrRecord(myKey, szBatchId, szReelId, ldErpLen); });
resetUIValue();
+ if(_matList1.Count > 0)
+ {
+ tScanPhotoInfo dt;
+ for (int i = 0; i < _matList1.Count; i++)
+ {
+ _matList1.TryDequeue(out dt);
+ }
+ }
+ if (_matList2.Count > 0)
+ {
+ tScanPhotoInfo dt;
+ for (int i = 0; i < _matList2.Count; i++)
+ {
+ _matList2.TryDequeue(out dt);
+ }
+ }
currKey = 0;
txtBarCodeName.Text = txtBatchId.Text = txtReelId.Text = "";
pStopWatch.Stop();
@@ -3256,7 +3325,7 @@ namespace LeatherApp.Page
int minWorker, minIOC;
ThreadPool.GetMinThreads(out minWorker, out minIOC);
ThreadPool.SetMinThreads(25, minIOC);
- Mat matt = new Mat("C:\\Users\\fang\\Desktop\\新建文件夹\\253.bmp");
+ Mat matt = new Mat("C:\\Users\\fang\\Desktop\\新建文件夹\\433.bmp");
//OpenCVUtil.LoadEdgeMode();
//int tt = 0;
@@ -3282,7 +3351,7 @@ namespace LeatherApp.Page
dlt.start();
dlt.add(new Device.DefectLib.DefectTask()
{
- modelName = "MX0727.trt",
+ modelName = "BS_CYG_1003.trt",
record = null,
bmp = matt,
bmpTag = matt.Clone(),
@@ -3506,7 +3575,7 @@ namespace LeatherApp.Page
#region ERP测试
private void button3_Click(object sender, EventArgs e)
{
- string code = "";
+ string code = "RSHX2410002536";
var dt = loadErpData(code);
MessageBox.Show($"{JsonConvert.SerializeObject(dt)}");
}
diff --git a/LeatherProject/LeatherApp/Page/FProductInfo.Designer.cs b/LeatherProject/LeatherApp/Page/FProductInfo.Designer.cs
index 4af09db..14d1d56 100644
--- a/LeatherProject/LeatherApp/Page/FProductInfo.Designer.cs
+++ b/LeatherProject/LeatherApp/Page/FProductInfo.Designer.cs
@@ -28,17 +28,17 @@
///
private void InitializeComponent()
{
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle17 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle18 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle19 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle20 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle21 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle22 = new System.Windows.Forms.DataGridViewCellStyle();
this.uiTitlePanel2 = new Sunny.UI.UITitlePanel();
this.tcbarTensionValue = new Sunny.UI.UITrackBar();
this.tcbarGain = new Sunny.UI.UITrackBar();
@@ -56,6 +56,9 @@
this.cmbModelName = new Sunny.UI.UIComboBox();
this.uiLabel1 = new Sunny.UI.UILabel();
this.uiTitlePanel4 = new Sunny.UI.UITitlePanel();
+ this.uiNumPadTextBox1 = new Sunny.UI.UINumPadTextBox();
+ this.uiLabel11 = new Sunny.UI.UILabel();
+ this.uiSwitch1 = new Sunny.UI.UISwitch();
this.btnDefectOption = new Sunny.UI.UISymbolButton();
this.swcDefectPauseForUser = new Sunny.UI.UISwitch();
this.numDefectCountLimit = new Sunny.UI.UINumPadTextBox();
@@ -96,9 +99,10 @@
this.cmbColor = new Sunny.UI.UIComboBox();
this.uiLabel3 = new Sunny.UI.UILabel();
this.uiLabel2 = new Sunny.UI.UILabel();
- this.uiSwitch1 = new Sunny.UI.UISwitch();
- this.uiLabel11 = new Sunny.UI.UILabel();
- this.uiNumPadTextBox1 = new Sunny.UI.UINumPadTextBox();
+ this.uiLabel12 = new Sunny.UI.UILabel();
+ this.uiLabel13 = new Sunny.UI.UILabel();
+ this.tbAera = new Sunny.UI.UINumPadTextBox();
+ this.tbClass = new Sunny.UI.UITextBox();
this.uiTitlePanel2.SuspendLayout();
this.uiTitlePanel3.SuspendLayout();
this.uiTitlePanel4.SuspendLayout();
@@ -323,6 +327,10 @@
// uiTitlePanel3
//
this.uiTitlePanel3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.uiTitlePanel3.Controls.Add(this.tbClass);
+ this.uiTitlePanel3.Controls.Add(this.uiLabel13);
+ this.uiTitlePanel3.Controls.Add(this.tbAera);
+ this.uiTitlePanel3.Controls.Add(this.uiLabel12);
this.uiTitlePanel3.Controls.Add(this.cmbModelName);
this.uiTitlePanel3.Controls.Add(this.uiLabel1);
this.uiTitlePanel3.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(251)))), ((int)(((byte)(250)))));
@@ -402,6 +410,46 @@
this.uiTitlePanel4.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.uiTitlePanel4.TitleColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
//
+ // uiNumPadTextBox1
+ //
+ this.uiNumPadTextBox1.FillColor = System.Drawing.Color.White;
+ this.uiNumPadTextBox1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.uiNumPadTextBox1.Location = new System.Drawing.Point(96, 294);
+ this.uiNumPadTextBox1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.uiNumPadTextBox1.MinimumSize = new System.Drawing.Size(63, 0);
+ this.uiNumPadTextBox1.Name = "uiNumPadTextBox1";
+ this.uiNumPadTextBox1.NumPadType = Sunny.UI.NumPadType.Integer;
+ this.uiNumPadTextBox1.Padding = new System.Windows.Forms.Padding(0, 0, 30, 2);
+ this.uiNumPadTextBox1.Size = new System.Drawing.Size(132, 29);
+ this.uiNumPadTextBox1.Style = Sunny.UI.UIStyle.Custom;
+ this.uiNumPadTextBox1.TabIndex = 17;
+ this.uiNumPadTextBox1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
+ this.uiNumPadTextBox1.Watermark = "";
+ //
+ // uiLabel11
+ //
+ this.uiLabel11.AutoSize = true;
+ this.uiLabel11.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.uiLabel11.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ this.uiLabel11.Location = new System.Drawing.Point(5, 268);
+ this.uiLabel11.Name = "uiLabel11";
+ this.uiLabel11.Size = new System.Drawing.Size(106, 21);
+ this.uiLabel11.Style = Sunny.UI.UIStyle.Custom;
+ this.uiLabel11.TabIndex = 16;
+ this.uiLabel11.Text = "厚度检测判断";
+ this.uiLabel11.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ //
+ // uiSwitch1
+ //
+ this.uiSwitch1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.uiSwitch1.Location = new System.Drawing.Point(9, 294);
+ this.uiSwitch1.MinimumSize = new System.Drawing.Size(1, 1);
+ this.uiSwitch1.Name = "uiSwitch1";
+ this.uiSwitch1.Size = new System.Drawing.Size(80, 29);
+ this.uiSwitch1.Style = Sunny.UI.UIStyle.Custom;
+ this.uiSwitch1.TabIndex = 15;
+ this.uiSwitch1.Text = "uiSwitch1";
+ //
// btnDefectOption
//
this.btnDefectOption.Cursor = System.Windows.Forms.Cursors.Hand;
@@ -524,21 +572,21 @@
//
// uiDataGridView1
//
- dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
- this.uiDataGridView1.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
+ dataGridViewCellStyle12.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
+ this.uiDataGridView1.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle12;
this.uiDataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.uiDataGridView1.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
this.uiDataGridView1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
- dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
- dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
- dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White;
- dataGridViewCellStyle2.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
- dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.uiDataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
+ dataGridViewCellStyle13.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+ dataGridViewCellStyle13.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
+ dataGridViewCellStyle13.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle13.ForeColor = System.Drawing.Color.White;
+ dataGridViewCellStyle13.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
+ dataGridViewCellStyle13.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.uiDataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle13;
this.uiDataGridView1.ColumnHeadersHeight = 32;
this.uiDataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.uiDataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
@@ -550,35 +598,35 @@
this.col_IsOR,
this.col_Len,
this.col_Cnt});
- dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
- dataGridViewCellStyle4.BackColor = System.Drawing.Color.White;
- dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- dataGridViewCellStyle4.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
- dataGridViewCellStyle4.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
- this.uiDataGridView1.DefaultCellStyle = dataGridViewCellStyle4;
+ dataGridViewCellStyle15.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle15.BackColor = System.Drawing.Color.White;
+ dataGridViewCellStyle15.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle15.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ dataGridViewCellStyle15.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
+ dataGridViewCellStyle15.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ dataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+ this.uiDataGridView1.DefaultCellStyle = dataGridViewCellStyle15;
this.uiDataGridView1.EnableHeadersVisualStyles = false;
this.uiDataGridView1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiDataGridView1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(104)))), ((int)(((byte)(173)))), ((int)(((byte)(255)))));
this.uiDataGridView1.Location = new System.Drawing.Point(3, 41);
this.uiDataGridView1.MultiSelect = false;
this.uiDataGridView1.Name = "uiDataGridView1";
- dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
- dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
- dataGridViewCellStyle5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- dataGridViewCellStyle5.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
- dataGridViewCellStyle5.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.uiDataGridView1.RowHeadersDefaultCellStyle = dataGridViewCellStyle5;
+ dataGridViewCellStyle16.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle16.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
+ dataGridViewCellStyle16.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle16.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ dataGridViewCellStyle16.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
+ dataGridViewCellStyle16.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ dataGridViewCellStyle16.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.uiDataGridView1.RowHeadersDefaultCellStyle = dataGridViewCellStyle16;
this.uiDataGridView1.RowHeadersWidth = 62;
- dataGridViewCellStyle6.BackColor = System.Drawing.Color.White;
- dataGridViewCellStyle6.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- dataGridViewCellStyle6.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
- dataGridViewCellStyle6.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- this.uiDataGridView1.RowsDefaultCellStyle = dataGridViewCellStyle6;
+ dataGridViewCellStyle17.BackColor = System.Drawing.Color.White;
+ dataGridViewCellStyle17.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle17.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ dataGridViewCellStyle17.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
+ dataGridViewCellStyle17.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ this.uiDataGridView1.RowsDefaultCellStyle = dataGridViewCellStyle17;
this.uiDataGridView1.RowTemplate.Height = 30;
this.uiDataGridView1.SelectedIndex = -1;
this.uiDataGridView1.Size = new System.Drawing.Size(581, 308);
@@ -598,8 +646,8 @@
// col_zxd
//
this.col_zxd.DataPropertyName = "ZXD";
- dataGridViewCellStyle3.NullValue = null;
- this.col_zxd.DefaultCellStyle = dataGridViewCellStyle3;
+ dataGridViewCellStyle14.NullValue = null;
+ this.col_zxd.DefaultCellStyle = dataGridViewCellStyle14;
this.col_zxd.HeaderText = "置信度";
this.col_zxd.MinimumWidth = 20;
this.col_zxd.Name = "col_zxd";
@@ -670,21 +718,21 @@
//
// uiDataGridView2
//
- dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
- this.uiDataGridView2.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle7;
+ dataGridViewCellStyle18.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
+ this.uiDataGridView2.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle18;
this.uiDataGridView2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.uiDataGridView2.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
this.uiDataGridView2.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
- dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
- dataGridViewCellStyle8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
- dataGridViewCellStyle8.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle8.ForeColor = System.Drawing.Color.White;
- dataGridViewCellStyle8.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
- dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.uiDataGridView2.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle8;
+ dataGridViewCellStyle19.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+ dataGridViewCellStyle19.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
+ dataGridViewCellStyle19.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle19.ForeColor = System.Drawing.Color.White;
+ dataGridViewCellStyle19.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
+ dataGridViewCellStyle19.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle19.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.uiDataGridView2.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle19;
this.uiDataGridView2.ColumnHeadersHeight = 32;
this.uiDataGridView2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.uiDataGridView2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
@@ -694,35 +742,35 @@
this.col2_3,
this.col2_4,
this.col2_5});
- dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
- dataGridViewCellStyle9.BackColor = System.Drawing.Color.White;
- dataGridViewCellStyle9.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle9.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- dataGridViewCellStyle9.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
- dataGridViewCellStyle9.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
- this.uiDataGridView2.DefaultCellStyle = dataGridViewCellStyle9;
+ dataGridViewCellStyle20.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle20.BackColor = System.Drawing.Color.White;
+ dataGridViewCellStyle20.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle20.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ dataGridViewCellStyle20.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
+ dataGridViewCellStyle20.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ dataGridViewCellStyle20.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+ this.uiDataGridView2.DefaultCellStyle = dataGridViewCellStyle20;
this.uiDataGridView2.EnableHeadersVisualStyles = false;
this.uiDataGridView2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiDataGridView2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(104)))), ((int)(((byte)(173)))), ((int)(((byte)(255)))));
this.uiDataGridView2.Location = new System.Drawing.Point(3, 41);
this.uiDataGridView2.MultiSelect = false;
this.uiDataGridView2.Name = "uiDataGridView2";
- dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
- dataGridViewCellStyle10.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
- dataGridViewCellStyle10.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle10.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- dataGridViewCellStyle10.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
- dataGridViewCellStyle10.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.uiDataGridView2.RowHeadersDefaultCellStyle = dataGridViewCellStyle10;
+ dataGridViewCellStyle21.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle21.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(249)))), ((int)(((byte)(255)))));
+ dataGridViewCellStyle21.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle21.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ dataGridViewCellStyle21.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
+ dataGridViewCellStyle21.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ dataGridViewCellStyle21.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.uiDataGridView2.RowHeadersDefaultCellStyle = dataGridViewCellStyle21;
this.uiDataGridView2.RowHeadersWidth = 62;
- dataGridViewCellStyle11.BackColor = System.Drawing.Color.White;
- dataGridViewCellStyle11.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle11.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- dataGridViewCellStyle11.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
- dataGridViewCellStyle11.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- this.uiDataGridView2.RowsDefaultCellStyle = dataGridViewCellStyle11;
+ dataGridViewCellStyle22.BackColor = System.Drawing.Color.White;
+ dataGridViewCellStyle22.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle22.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ dataGridViewCellStyle22.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(236)))), ((int)(((byte)(255)))));
+ dataGridViewCellStyle22.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ this.uiDataGridView2.RowsDefaultCellStyle = dataGridViewCellStyle22;
this.uiDataGridView2.RowTemplate.Height = 30;
this.uiDataGridView2.SelectedIndex = -1;
this.uiDataGridView2.Size = new System.Drawing.Size(488, 308);
@@ -1025,45 +1073,64 @@
this.uiLabel2.Text = "产品颜色";
this.uiLabel2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
- // uiSwitch1
+ // uiLabel12
//
- this.uiSwitch1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.uiSwitch1.Location = new System.Drawing.Point(9, 294);
- this.uiSwitch1.MinimumSize = new System.Drawing.Size(1, 1);
- this.uiSwitch1.Name = "uiSwitch1";
- this.uiSwitch1.Size = new System.Drawing.Size(80, 29);
- this.uiSwitch1.Style = Sunny.UI.UIStyle.Custom;
- this.uiSwitch1.TabIndex = 15;
- this.uiSwitch1.Text = "uiSwitch1";
+ this.uiLabel12.AutoSize = true;
+ this.uiLabel12.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.uiLabel12.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ this.uiLabel12.Location = new System.Drawing.Point(5, 150);
+ this.uiLabel12.Name = "uiLabel12";
+ this.uiLabel12.Size = new System.Drawing.Size(138, 21);
+ this.uiLabel12.Style = Sunny.UI.UIStyle.Custom;
+ this.uiLabel12.TabIndex = 26;
+ this.uiLabel12.Text = "传统算法颜色类别";
+ this.uiLabel12.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
- // uiLabel11
+ // uiLabel13
//
- this.uiLabel11.AutoSize = true;
- this.uiLabel11.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.uiLabel11.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
- this.uiLabel11.Location = new System.Drawing.Point(5, 268);
- this.uiLabel11.Name = "uiLabel11";
- this.uiLabel11.Size = new System.Drawing.Size(106, 21);
- this.uiLabel11.Style = Sunny.UI.UIStyle.Custom;
- this.uiLabel11.TabIndex = 16;
- this.uiLabel11.Text = "厚度检测判断";
- this.uiLabel11.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ this.uiLabel13.AutoSize = true;
+ this.uiLabel13.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.uiLabel13.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48)))));
+ this.uiLabel13.Location = new System.Drawing.Point(3, 210);
+ this.uiLabel13.Name = "uiLabel13";
+ this.uiLabel13.Size = new System.Drawing.Size(215, 21);
+ this.uiLabel13.Style = Sunny.UI.UIStyle.Custom;
+ this.uiLabel13.TabIndex = 28;
+ this.uiLabel13.Text = "传统算法过滤像素面积(piexl)";
+ this.uiLabel13.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
- // uiNumPadTextBox1
+ // tbAera
//
- this.uiNumPadTextBox1.FillColor = System.Drawing.Color.White;
- this.uiNumPadTextBox1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.uiNumPadTextBox1.Location = new System.Drawing.Point(96, 294);
- this.uiNumPadTextBox1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
- this.uiNumPadTextBox1.MinimumSize = new System.Drawing.Size(63, 0);
- this.uiNumPadTextBox1.Name = "uiNumPadTextBox1";
- this.uiNumPadTextBox1.NumPadType = Sunny.UI.NumPadType.Integer;
- this.uiNumPadTextBox1.Padding = new System.Windows.Forms.Padding(0, 0, 30, 2);
- this.uiNumPadTextBox1.Size = new System.Drawing.Size(132, 29);
- this.uiNumPadTextBox1.Style = Sunny.UI.UIStyle.Custom;
- this.uiNumPadTextBox1.TabIndex = 17;
- this.uiNumPadTextBox1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
- this.uiNumPadTextBox1.Watermark = "";
+ this.tbAera.FillColor = System.Drawing.Color.White;
+ this.tbAera.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.tbAera.Location = new System.Drawing.Point(2, 236);
+ this.tbAera.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.tbAera.MinimumSize = new System.Drawing.Size(63, 0);
+ this.tbAera.Name = "tbAera";
+ this.tbAera.NumPadType = Sunny.UI.NumPadType.Double;
+ this.tbAera.Padding = new System.Windows.Forms.Padding(0, 0, 30, 2);
+ this.tbAera.Size = new System.Drawing.Size(235, 29);
+ this.tbAera.Style = Sunny.UI.UIStyle.Custom;
+ this.tbAera.TabIndex = 27;
+ this.tbAera.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
+ this.tbAera.Watermark = "";
+ //
+ // tbClass
+ //
+ this.tbClass.ButtonSymbolOffset = new System.Drawing.Point(0, 0);
+ this.tbClass.Cursor = System.Windows.Forms.Cursors.IBeam;
+ this.tbClass.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.tbClass.Location = new System.Drawing.Point(4, 176);
+ this.tbClass.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+ this.tbClass.MinimumSize = new System.Drawing.Size(1, 16);
+ this.tbClass.Name = "tbClass";
+ this.tbClass.Padding = new System.Windows.Forms.Padding(5);
+ this.tbClass.ShowText = false;
+ this.tbClass.Size = new System.Drawing.Size(233, 29);
+ this.tbClass.Style = Sunny.UI.UIStyle.Custom;
+ this.tbClass.TabIndex = 29;
+ this.tbClass.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
+ this.tbClass.Watermark = "";
//
// FProductInfo
//
@@ -1160,5 +1227,9 @@
private Sunny.UI.UINumPadTextBox uiNumPadTextBox1;
private Sunny.UI.UILabel uiLabel11;
private Sunny.UI.UISwitch uiSwitch1;
+ private Sunny.UI.UILabel uiLabel13;
+ private Sunny.UI.UINumPadTextBox tbAera;
+ private Sunny.UI.UILabel uiLabel12;
+ private Sunny.UI.UITextBox tbClass;
}
}
diff --git a/LeatherProject/LeatherApp/Page/FProductInfo.cs b/LeatherProject/LeatherApp/Page/FProductInfo.cs
index c76b449..bd39a75 100644
--- a/LeatherProject/LeatherApp/Page/FProductInfo.cs
+++ b/LeatherProject/LeatherApp/Page/FProductInfo.cs
@@ -1,7 +1,9 @@
-using LeatherApp.Device;
+using DocumentFormat.OpenXml.EMMA;
+using LeatherApp.Device;
using LeatherApp.Interface;
using Models;
using Newtonsoft.Json.Linq;
+using PG_Detect;
using Sunny.UI;
using System;
using System.Collections.Generic;
@@ -196,6 +198,9 @@ namespace LeatherApp.Page
numDefectCountLimit.Text = model.DefectCountLimit.ToString();
swcDefectPauseForUser.Active = model.DefectPauseForUser;
+ tbClass.Text = model.ClassType;
+ tbAera.Text = model.HalconAreaThr.ToString();
+
this.uiSwitch1.Active = model.OpenThicknessDetection;
uiNumPadTextBox1.Text = model.ThicknessDetectionStopDis.ToString();
//uiDataGridView fill
@@ -339,6 +344,10 @@ namespace LeatherApp.Page
model.DefectCountLimit = int.Parse(numDefectCountLimit.Text.Trim());
model.DefectPauseForUser = swcDefectPauseForUser.Active;
+ ///halcon参数
+ model.ClassType = tbClass.Text;
+ model.HalconAreaThr = double.Parse(tbAera.Text.Trim());
+
model.OpenThicknessDetection = uiSwitch1.Active;
int ival;
if (int.TryParse(uiNumPadTextBox1.Text, out ival))
@@ -407,8 +416,22 @@ namespace LeatherApp.Page
if (!result)
throw new Exception("保存失败!");
- this.btnReload.Visible = true;
+ if (Config.OpenHalconDefect)
+ {
+ try
+ {
+ PGDetect pg = new PGDetect();
+ pg.SaveUserData(Config.HalconParamPath, model.ClassType, model.HalconAreaThr);
+ }
+ catch (Exception ex)
+ {
+ throw new Exception($"传统算法参数保存失败!{ex.Message}");
+ }
+ }
+ this.btnReload.Visible = true;
UIMessageTip.ShowOk("保存成功!", 1000);
+
+
}
catch (Exception ex)
{
diff --git a/LeatherProject/LeatherApp/Properties/AssemblyInfo.cs b/LeatherProject/LeatherApp/Properties/AssemblyInfo.cs
index e13b3a6..2b36200 100644
--- a/LeatherProject/LeatherApp/Properties/AssemblyInfo.cs
+++ b/LeatherProject/LeatherApp/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.2.0.0")]
-[assembly: AssemblyFileVersion("1.2.0.0")]
+[assembly: AssemblyVersion("1.2.0.1")]
+[assembly: AssemblyFileVersion("1.2.0.1")]
diff --git a/LeatherProject/LeatherApp/Utils/DBUtils.cs b/LeatherProject/LeatherApp/Utils/DBUtils.cs
index f6823d9..8224be2 100644
--- a/LeatherProject/LeatherApp/Utils/DBUtils.cs
+++ b/LeatherProject/LeatherApp/Utils/DBUtils.cs
@@ -5,6 +5,7 @@ using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using System.Windows.Forms;
namespace LeatherApp.Utils
{
@@ -47,13 +48,53 @@ namespace LeatherApp.Utils
}
public static DataTable execSql(string sql, List parameters, SqlSugar.DbType dbType = SqlSugar.DbType.SqlServer)
{
- //查询表的所有
- var mydb = getErpDBCon(dbType);
- if(mydb == null) return null;
+ if (!Config.OracleDB)
+ {
+ //查询表的所有
+ var mydb = getErpDBCon(dbType);
+ if (mydb == null)
+ {
+ MessageBox.Show($"数据库连接失败:{sql}");
+ return null;
+ }
- if (!mydb.Ado.IsValidConnection())
- mydb.Ado.Open();
- return mydb.Ado.GetDataTable(sql, parameters);
+ if (!mydb.Ado.IsValidConnection())
+ mydb.Ado.Open();
+ return mydb.Ado.GetDataTable(sql, parameters);
+ }
+ else
+ {
+ SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
+ {
+ DbType = SqlSugar.DbType.Oracle,
+ ConnectionString = Config.ErpDBConStr,
+ InitKeyType = InitKeyType.Attribute,
+ IsAutoCloseConnection = true,
+ AopEvents = new AopEvents
+ {
+ OnLogExecuting = (tsql, p) =>
+ {
+ Console.WriteLine(tsql);
+ Console.WriteLine(string.Join(",", p?.Select(it => it.ParameterName + ":" + it.Value)));
+ }
+ }
+ });
+ //var dt = db.Ado.GetDataTable(sql);
+ //if (dt != null)
+ //{
+ // for (int i = 0; i < dt.Rows.Count; i++)
+ // {
+ // Console.WriteLine($"PJXTBH:{dt.Rows[i]["PJXTBH"]},WPH:{dt.Rows[i]["WPH"]},WPMC:{dt.Rows[i]["WPMC"]},SL:{dt.Rows[i]["SL"]},PH:{dt.Rows[i]["PH"]},JH:{dt.Rows[i]["JH"]}");
+ // }
+ //}
+
+ string sqlstr = $"select * from tb_qc_prodinfo where PJXTBH='{parameters[0].Value}'";
+ var dt2 = db.Ado.GetDataTable(sqlstr);
+ dt2.Columns.RemoveAt(0);
+ dt2.Columns.RemoveAt(0);
+ return dt2;
+ //var dt2 = db.Ado.GetDataTable(sqlstr);
+ }
}
}
}
diff --git a/LeatherProject/LeatherApp/bin/Debug/3/AreaThr_value b/LeatherProject/LeatherApp/bin/Debug/3/AreaThr_value
new file mode 100644
index 0000000..9e7ca1b
--- /dev/null
+++ b/LeatherProject/LeatherApp/bin/Debug/3/AreaThr_value
@@ -0,0 +1,2 @@
+01
+2 5.0000000000000000e+00
diff --git a/LeatherProject/LeatherApp/bin/Debug/BS_CYG_1003.fp16.json b/LeatherProject/LeatherApp/bin/Debug/BS_CYG_1003.fp16.json
new file mode 100644
index 0000000..ccb81dc
--- /dev/null
+++ b/LeatherProject/LeatherApp/bin/Debug/BS_CYG_1003.fp16.json
@@ -0,0 +1,68 @@
+[
+ {
+ "id": 0,
+ "code": "laji",
+ "name": "垃圾",
+ "color": "#0080FF"
+ },
+ {
+ "id": 1,
+ "code": "liangdian",
+ "name": "亮点",
+ "color": "Lime"
+ },
+ {
+ "id": 2,
+ "code": "wuyin",
+ "name": "污印",
+ "color": "DarkViolet"
+ },
+ {
+ "id": 3,
+ "code": "jietou",
+ "name": "接头",
+ "color": "Magenta"
+ },
+ {
+ "id": 4,
+ "code": "bmss",
+ "name": "表面损伤",
+ "color": "Orange"
+ },
+ {
+ "id": 5,
+ "code": "qipi",
+ "name": "起皮",
+ "color": "Blue"
+ },
+ {
+ "id": 6,
+ "code": "tiaohen",
+ "name": "条痕",
+ "color": "Red"
+ },
+ {
+ "id": 7,
+ "code": "yayin",
+ "name": "压印",
+ "color": "Green"
+ },
+ {
+ "id": 7,
+ "code": "zhouyin",
+ "name": "皱印",
+ "color": "Yellow"
+ },
+ {
+ "id": 8,
+ "code": "yisesi",
+ "name": "异色丝",
+ "color": "Garnet"
+ },
+ {
+ "id": 7,
+ "code": "chongying",
+ "name": "重影",
+ "color": "Salmon"
+ },
+]
\ No newline at end of file
diff --git a/LeatherProject/LeatherApp/bin/Debug/BS_CYG_1003.onnx b/LeatherProject/LeatherApp/bin/Debug/BS_CYG_1003.onnx
new file mode 100644
index 0000000..26c54e3
Binary files /dev/null and b/LeatherProject/LeatherApp/bin/Debug/BS_CYG_1003.onnx differ
diff --git a/LeatherProject/LeatherApp/bin/Debug/BS_CYG_1003.trt b/LeatherProject/LeatherApp/bin/Debug/BS_CYG_1003.trt
new file mode 100644
index 0000000..a3a61cb
Binary files /dev/null and b/LeatherProject/LeatherApp/bin/Debug/BS_CYG_1003.trt differ
diff --git a/LeatherProject/LeatherApp/bin/Debug/CMDProcess/10.json b/LeatherProject/LeatherApp/bin/Debug/CMDProcess/10.json
index 0d13b69..25a6254 100644
--- a/LeatherProject/LeatherApp/bin/Debug/CMDProcess/10.json
+++ b/LeatherProject/LeatherApp/bin/Debug/CMDProcess/10.json
@@ -1 +1 @@
-{"Direction":0,"IN_OP_SHOW":["XXXX XXXL","XXXX XXXX","XXXX XXXX","XXXX XXXX"],"IN_Waiting_Timeout":0,"OUT_OP_SHOW":["XXXX XXXH","XXXX XXXX","XXXX XXXX","XXXX XXXX"],"SleepPre":0,"SleepLater":0,"AsynRun":false,"Disable":false}
\ No newline at end of file
+{"Direction":0,"IN_OP_SHOW":["XXXX XXXH","XXXX XXXX","XXXX XXXX","XXXX XXXX"],"IN_Waiting_Timeout":0,"OUT_OP_SHOW":["XXXX XXXH","XXXX XXXX","XXXX XXXX","XXXX XXXX"],"SleepPre":0,"SleepLater":0,"AsynRun":false,"Disable":false}
\ No newline at end of file
diff --git a/LeatherProject/LeatherApp/bin/Debug/Microsoft.Bcl.AsyncInterfaces.xml b/LeatherProject/LeatherApp/bin/Debug/Microsoft.Bcl.AsyncInterfaces.xml
new file mode 100644
index 0000000..650a6b9
--- /dev/null
+++ b/LeatherProject/LeatherApp/bin/Debug/Microsoft.Bcl.AsyncInterfaces.xml
@@ -0,0 +1,417 @@
+
+
+
+ Microsoft.Bcl.AsyncInterfaces
+
+
+
+ Provides the core logic for implementing a manual-reset or .
+
+
+
+
+ The callback to invoke when the operation completes if was called before the operation completed,
+ or if the operation completed before a callback was supplied,
+ or null if a callback hasn't yet been provided and the operation hasn't yet completed.
+
+
+
+ State to pass to .
+
+
+ to flow to the callback, or null if no flowing is required.
+
+
+
+ A "captured" or with which to invoke the callback,
+ or null if no special context is required.
+
+
+
+ Whether the current operation has completed.
+
+
+ The result with which the operation succeeded, or the default value if it hasn't yet completed or failed.
+
+
+ The exception with which the operation failed, or null if it hasn't yet completed or completed successfully.
+
+
+ The current version of this value, used to help prevent misuse.
+
+
+ Gets or sets whether to force continuations to run asynchronously.
+ Continuations may run asynchronously if this is false, but they'll never run synchronously if this is true.
+
+
+ Resets to prepare for the next operation.
+
+
+ Completes with a successful result.
+ The result.
+
+
+ Complets with an error.
+
+
+
+ Gets the operation version.
+
+
+ Gets the status of the operation.
+ Opaque value that was provided to the 's constructor.
+
+
+ Gets the result of the operation.
+ Opaque value that was provided to the 's constructor.
+
+
+ Schedules the continuation action for this operation.
+ The continuation to invoke when the operation has completed.
+ The state object to pass to when it's invoked.
+ Opaque value that was provided to the 's constructor.
+ The flags describing the behavior of the continuation.
+
+
+ Ensures that the specified token matches the current version.
+ The token supplied by .
+
+
+ Signals that the operation has completed. Invoked after the result or error has been set.
+
+
+
+ Invokes the continuation with the appropriate captured context / scheduler.
+ This assumes that if is not null we're already
+ running within that .
+
+
+
+ Provides a set of static methods for configuring -related behaviors on asynchronous enumerables and disposables.
+
+
+ Configures how awaits on the tasks returned from an async disposable will be performed.
+ The source async disposable.
+ Whether to capture and marshal back to the current context.
+ The configured async disposable.
+
+
+ Configures how awaits on the tasks returned from an async iteration will be performed.
+ The type of the objects being iterated.
+ The source enumerable being iterated.
+ Whether to capture and marshal back to the current context.
+ The configured enumerable.
+
+
+ Sets the to be passed to when iterating.
+ The type of the objects being iterated.
+ The source enumerable being iterated.
+ The to use.
+ The configured enumerable.
+
+
+ Represents a builder for asynchronous iterators.
+
+
+ Creates an instance of the struct.
+ The initialized instance.
+
+
+ Invokes on the state machine while guarding the .
+ The type of the state machine.
+ The state machine instance, passed by reference.
+
+
+ Schedules the state machine to proceed to the next action when the specified awaiter completes.
+ The type of the awaiter.
+ The type of the state machine.
+ The awaiter.
+ The state machine.
+
+
+ Schedules the state machine to proceed to the next action when the specified awaiter completes.
+ The type of the awaiter.
+ The type of the state machine.
+ The awaiter.
+ The state machine.
+
+
+ Marks iteration as being completed, whether successfully or otherwise.
+
+
+ Gets an object that may be used to uniquely identify this builder to the debugger.
+
+
+ Indicates whether a method is an asynchronous iterator.
+
+
+ Initializes a new instance of the class.
+ The type object for the underlying state machine type that's used to implement a state machine method.
+
+
+ Provides a type that can be used to configure how awaits on an are performed.
+
+
+ Asynchronously releases the unmanaged resources used by the .
+ A task that represents the asynchronous dispose operation.
+
+
+ Provides an awaitable async enumerable that enables cancelable iteration and configured awaits.
+
+
+ Configures how awaits on the tasks returned from an async iteration will be performed.
+ Whether to capture and marshal back to the current context.
+ The configured enumerable.
+ This will replace any previous value set by for this iteration.
+
+
+ Sets the to be passed to when iterating.
+ The to use.
+ The configured enumerable.
+ This will replace any previous set by for this iteration.
+
+
+ Returns an enumerator that iterates asynchronously through collections that enables cancelable iteration and configured awaits.
+ An enumerator for the class.
+
+
+ Provides an awaitable async enumerator that enables cancelable iteration and configured awaits.
+
+
+ Advances the enumerator asynchronously to the next element of the collection.
+
+ A that will complete with a result of true
+ if the enumerator was successfully advanced to the next element, or false if the enumerator has
+ passed the end of the collection.
+
+
+
+ Gets the element in the collection at the current position of the enumerator.
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or
+ resetting unmanaged resources asynchronously.
+
+
+
+ Allows users of async-enumerable methods to mark the parameter that should receive the cancellation token value from .
+
+
+ Initializes a new instance of the class.
+
+
+
+ Attribute used to indicate a source generator should create a function for marshalling
+ arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
+
+
+ This attribute is meaningless if the source generator associated with it is not enabled.
+ The current built-in source generator only supports C# and only supplies an implementation when
+ applied to static, partial, non-generic methods.
+
+
+
+
+ Initializes a new instance of the .
+
+ Name of the library containing the import.
+
+
+
+ Gets the name of the library containing the import.
+
+
+
+
+ Gets or sets the name of the entry point to be called.
+
+
+
+
+ Gets or sets how to marshal string arguments to the method.
+
+
+ If this field is set to a value other than ,
+ must not be specified.
+
+
+
+
+ Gets or sets the used to control how string arguments to the method are marshalled.
+
+
+ If this field is specified, must not be specified
+ or must be set to .
+
+
+
+
+ Gets or sets whether the callee sets an error (SetLastError on Windows or errno
+ on other platforms) before returning from the attributed method.
+
+
+
+
+ Specifies how strings should be marshalled for generated p/invokes
+
+
+
+
+ Indicates the user is suppling a specific marshaller in .
+
+
+
+
+ Use the platform-provided UTF-8 marshaller.
+
+
+
+
+ Use the platform-provided UTF-16 marshaller.
+
+
+
+ Exposes an enumerator that provides asynchronous iteration over values of a specified type.
+ The type of values to enumerate.
+
+
+ Returns an enumerator that iterates asynchronously through the collection.
+ A that may be used to cancel the asynchronous iteration.
+ An enumerator that can be used to iterate asynchronously through the collection.
+
+
+ Supports a simple asynchronous iteration over a generic collection.
+ The type of objects to enumerate.
+
+
+ Advances the enumerator asynchronously to the next element of the collection.
+
+ A that will complete with a result of true if the enumerator
+ was successfully advanced to the next element, or false if the enumerator has passed the end
+ of the collection.
+
+
+
+ Gets the element in the collection at the current position of the enumerator.
+
+
+ Provides a mechanism for releasing unmanaged resources asynchronously.
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or
+ resetting unmanaged resources asynchronously.
+
+
+
+ Specifies that null is allowed as an input even if the corresponding type disallows it.
+
+
+ Specifies that null is disallowed as an input even if the corresponding type allows it.
+
+
+ Specifies that an output may be null even if the corresponding type disallows it.
+
+
+ Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.
+
+
+ Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it.
+
+
+ Initializes the attribute with the specified return value condition.
+
+ The return value condition. If the method returns this value, the associated parameter may be null.
+
+
+
+ Gets the return value condition.
+
+
+ Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it.
+
+
+ Initializes the attribute with the specified return value condition.
+
+ The return value condition. If the method returns this value, the associated parameter will not be null.
+
+
+
+ Gets the return value condition.
+
+
+ Specifies that the output will be non-null if the named parameter is non-null.
+
+
+ Initializes the attribute with the associated parameter name.
+
+ The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
+
+
+
+ Gets the associated parameter name.
+
+
+ Applied to a method that will never return under any circumstance.
+
+
+ Specifies that the method will not return if the associated Boolean parameter is passed the specified value.
+
+
+ Initializes the attribute with the specified parameter value.
+
+ The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
+ the associated parameter matches this value.
+
+
+
+ Gets the condition parameter value.
+
+
+ Specifies that the method or property will ensure that the listed field and property members have not-null values.
+
+
+ Initializes the attribute with a field or property member.
+
+ The field or property member that is promised to be not-null.
+
+
+
+ Initializes the attribute with the list of field and property members.
+
+ The list of field and property members that are promised to be not-null.
+
+
+
+ Gets field or property member names.
+
+
+ Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.
+
+
+ Initializes the attribute with the specified return value condition and a field or property member.
+
+ The return value condition. If the method returns this value, the associated parameter will not be null.
+
+
+ The field or property member that is promised to be not-null.
+
+
+
+ Initializes the attribute with the specified return value condition and list of field and property members.
+
+ The return value condition. If the method returns this value, the associated parameter will not be null.
+
+
+ The list of field and property members that are promised to be not-null.
+
+
+
+ Gets the return value condition.
+
+
+ Gets field or property member names.
+
+
+
diff --git a/LeatherProject/LeatherApp/bin/Debug/SysConfig.ini b/LeatherProject/LeatherApp/bin/Debug/SysConfig.ini
index af92060..d0f7d2c 100644
--- a/LeatherProject/LeatherApp/bin/Debug/SysConfig.ini
+++ b/LeatherProject/LeatherApp/bin/Debug/SysConfig.ini
@@ -48,7 +48,7 @@ ErpSql=
[LOG]
LogPath=D:\log\
[Halcon]
-OpenHalconDefect=True
+OpenHalconDefect=false
[Beep]
OpenBeep=True
BeepTime=3000
diff --git a/LeatherProject/LeatherApp/bin/Debug/System.Diagnostics.DiagnosticSource.xml b/LeatherProject/LeatherApp/bin/Debug/System.Diagnostics.DiagnosticSource.xml
new file mode 100644
index 0000000..5e32abb
--- /dev/null
+++ b/LeatherProject/LeatherApp/bin/Debug/System.Diagnostics.DiagnosticSource.xml
@@ -0,0 +1,1568 @@
+
+
+
+ System.Diagnostics.DiagnosticSource
+
+
+
+ Represents an operation with context to be used for logging.
+
+
+ Initializes a new instance of the class.
+ The name of the operation.
+
+
+ Updates the to have a new baggage item with the specified key and value.
+ The baggage key.
+ The baggage value.
+
+ for convenient chaining.
+
+
+ Adds the specified activity event to the events list.
+ The activity event to add.
+
+ for convenient chaining.
+
+
+ Updates the activity to have a tag with an additional and .
+ The tag key name.
+ The tag value mapped to the input key.
+
+ for convenient chaining.
+
+
+ Updates the to have a new tag with the provided and .
+ The tag key.
+ The tag value.
+
+ for convenient chaining.
+
+
+ Stops the activity if it is already started and notifies any event listeners. Nothing will happen otherwise.
+
+
+ When overriden by a derived type, this method releases any allocated resources.
+
+ if the method is being called from the finalizer; if calling from user code.
+
+
+ Returns the value of a key-value pair added to the activity with .
+ The baggage key.
+ The value of the key-value-pair item if it exists, or if it does not exist.
+
+
+ Returns the object mapped to the specified property name.
+ The name associated to the object.
+ The object mapped to the property name, if one is found; otherwise, .
+
+
+ Returns the value of the Activity tag mapped to the input key/>.
+ Returns if that key does not exist.
+ The tag key string.
+ The tag value mapped to the input key.
+
+
+ Add or update the Activity baggage with the input key and value.
+ If the input value is - if the collection has any baggage with the same key, then this baggage will get removed from the collection.
+ - otherwise, nothing will happen and the collection will not change.
+ If the input value is not - if the collection has any baggage with the same key, then the value mapped to this key will get updated with the new input value.
+ - otherwise, the key and value will get added as a new baggage to the collection.
+ Baggage item will be updated/removed only if it was originaly added to the current activity. Items inherited from the parents will not be changed/removed, new item would be added to current activity baggage instead.
+ The baggage key name
+ The baggage value mapped to the input key
+
+ for convenient chaining.
+
+
+ Attaches any custom object to this activity. If the specified was previously associated with another object, the property will be updated to be associated with the new instead. It is recommended to use a unique property name to avoid conflicts with anyone using the same value.
+ The name to associate the value with.
+ The object to attach and map to the property name.
+
+
+ Updates the to set its as the difference between and the specified stop time.
+ The UTC stop time.
+
+ for convenient chaining.
+
+
+ Sets the ID format on this before it is started.
+ One of the enumeration values that specifies the format of the property.
+
+ for convenient chaining.
+
+
+ Sets the parent ID using the W3C convention of a TraceId and a SpanId.
+ The parent activity's TraceId.
+ The parent activity's SpanId.
+ One of the enumeration values that specifies flags defined by the W3C standard that are associated with an activity.
+
+ for convenient chaining.
+
+
+ Updates this to indicate that the with an ID of caused this .
+ The ID of the parent operation.
+
+ for convenient chaining.
+
+
+ Sets the start time of this .
+ The start time in UTC.
+
+ for convenient chaining.
+
+
+ Sets the status code and description on the current activity object.
+ The status code
+ The error status description
+
+ for convenient chaining.
+
+
+ Adds or update the activity tag with the input key and value.
+ The tag key name.
+ The tag value mapped to the input key.
+
+ for convenient chaining.
+
+
+ Starts the activity.
+
+ for convenient chaining.
+
+
+ Stops the activity.
+
+
+ Gets or sets the flags (defined by the W3C ID specification) associated with the activity.
+ the flags associated with the activity.
+
+
+ Gets a collection of key/value pairs that represents information that is passed to children of this .
+ Information that's passed to children of this .
+
+
+ Gets the context of the activity. Context becomes valid only if the activity has been started.
+ The context of the activity, if the activity has been started; otherwise, returns the default context.
+
+
+ Gets or sets the current operation () for the current thread. This flows across async calls.
+ The current operation for the current thread.
+
+
+ Gets or sets the default ID format for the .
+
+
+ Gets or sets the display name of the activity.
+ A string that represents the activity display name.
+
+
+ Gets the duration of the operation.
+ The delta between and the end time if the has ended ( or was called), or if the has not ended and was not called.
+
+
+ Gets the list of all the activity events attached to this activity.
+ An enumeration of activity events attached to this activity. If the activity has no events, returns an empty enumeration.
+
+
+ Gets or sets a value that detrmines if the is always used to define the default ID format.
+
+ to always use the ; otherwise, .
+
+
+ Gets an identifier that is specific to a particular request.
+ The activity ID.
+
+
+ Gets the format for the .
+ The format for the .
+
+
+ Gets or sets a value that indicates whether this activity should be populated with all the propagation information, as well as all the other properties, such as links, tags, and events.
+
+ if the activity should be populated; otherwise.
+
+
+ Gets the relationship between the activity, its parents, and its children in a trace.
+ One of the enumeration values that indicate relationship between the activity, its parents, and its children in a trace.
+
+
+ Gets the list of all the activity links attached to this activity.
+ An enumeration of activity links attached to this activity. If the activity has no links, returns an empty enumeration.
+
+
+ Gets the operation name.
+ The name of the operation.
+
+
+ Gets the parent that created this activity.
+ The parent of this , if it is from the same process, or if this instance has no parent (it is a root activity) or if the parent is from outside the process.
+
+
+ Gets the ID of this activity's parent.
+ The parent ID, if one exists, or if it does not.
+
+
+ Gets the parent's .
+ The parent's .
+
+
+ Gets a value that indicates whether the W3CIdFlags.Recorded flag is set.
+
+ if the W3CIdFlags.Recorded flag is set; otherwise, .
+
+
+ Gets the root ID of this .
+ The root ID, or if the current instance has either a or an .
+
+
+ Gets the activity source associated with this activity.
+
+
+ Gets the SPAN part of the .
+ The ID for the SPAN part of , if the has the W3C format; otherwise, a zero .
+
+
+ Gets the time when the operation started.
+ The UTC time that the operation started.
+
+
+ Gets status code of the current activity object.
+
+
+ Gets the status description of the current activity object.
+
+
+ Gets the list of tags that represent information to log along with the activity. This information is not passed on to the children of this activity.
+ A key-value pair enumeration of tags and objects.
+
+
+ Gets a collection of key/value pairs that represent information that will be logged along with the to the logging system.
+ Information that will be logged along with the to the logging system.
+
+
+ Gets the TraceId part of the .
+ The ID for the TraceId part of the , if the ID has the W3C format; otherwise, a zero TraceId.
+
+
+ When starting an Activity which does not have a parent context, the Trace Id will automatically be generated using random numbers.
+ TraceIdGenerator can be used to override the runtime's default Trace Id generation algorithm.
+
+
+ Gets or sets the W3C header.
+ The W3C header.
+
+
+ A representation that conforms to the W3C TraceContext specification. It contains two identifiers: a TraceId and a SpanId, along with a set of common TraceFlags and system-specific TraceState values.
+
+
+ Construct a new activity context instance using the specified arguments.
+ A trace identifier.
+ A span identifier.
+ Contain details about the trace.
+ Carries system-specific configuration data.
+ Indicates if the context is propagated from a remote parent.
+
+
+ Indicates whether the current object is equal to another object of the same type.
+ The object to compare to this instance.
+
+ if the current object is equal to the parameter; otherwise, .
+
+
+ Determines whether this instance and a specified object have the same value.
+ The object to compare to this instance.
+
+ if the current object is equal to the parameter; otherwise, .
+
+
+ Provides a hash function for the current that's suitable for hashing algorithms and data structures, such as hash tables.
+ A hash code for the current .
+
+
+ Determines whether two specified values are equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are equal; otherwise, .
+
+
+ Determines whether two specified values are not equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are not equal; otherwise, .
+
+
+ Parses a W3C trace context headers to an object.
+ The W3C trace parent header.
+ The trace state.
+ The trace parent is invalid.
+ The object created from the parsing operation.
+
+
+ Tries to parse the W3C trace context headers to an object.
+ The W3C trace parent header.
+ The W3C trace state.
+ When this method returns , the object created from the parsing operation.
+
+ if the parsing was successful; otherwise.
+
+
+ Indicates if the activity context was propagated from a remote parent.
+
+ if it was propagated from a remote parent; otherwise.
+
+
+ The Id of the request as known by the caller.
+ The Span Id in the context.
+
+
+ The flags defined by the W3C standard along with the ID for the activity.
+ The context tracing flags.
+
+
+ The trace identifier.
+ The tracing identifier in the context.
+
+
+ Holds the W3C 'tracestate' header.
+ A string representing the W3C 'tracestate' header.
+
+
+ Encapsulates all the information that is sent to the activity listener, to make decisions about the creation of the activity instance, as well as its state.
+
+The possible generic type parameters are or .
+ The type of the property. Should be either or .
+
+
+ Gets the activity kind which the activity will be created with.
+ One of the enumeration values that represent an activity kind.
+
+
+ Gets the enumeration of activity links that the activity will be created with.
+ An enumeration of activity links.
+
+
+ Gets the name to use as OperationName of the activity that will get created.
+ A string representing the activity name.
+
+
+ Gets the parent context or parent Id that the activity will get created with.
+ The parent of the activity, represented either as a or as an .
+
+
+ Gets the collection that is used to add more tags during the sampling process. The added tags are also added to the created Activity if it is decided that it should be created by the callbacks.
+ The Activity tags collection.
+
+
+ Gets the activity source that creates the activity.
+ An activity source object.
+
+
+ Gets the tags that the activity will be created with.
+ A key-value pair enumeration of tags associated with the activity.
+
+
+ Gets the trace Id to use in the Activity object if it is decided that it should be created by callbacks.
+ The trace Id.
+
+
+ Represents an event containing a name and a timestamp, as well as an optional list of tags.
+
+
+ Initializes a new activity event instance using the specified name and the current time as the event timestamp.
+ The event name.
+
+
+ Initializes a new activity event instance using the specified name, timestamp and tags.
+ The event name.
+ The event timestamp. Timestamp must only be used for the events that happened in the past, not at the moment of this call.
+ The event tags.
+
+
+ Gets the activity event name.
+ A string representing the activity event name.
+
+
+ Gets the collection of tags associated with the event.
+ A key-value pair enumeration containing the tags associated with the event.
+
+
+ Gets the activity event timestamp.
+ A datetime offset representing the activity event timestamp.
+
+
+ Specifies the format of the property.
+
+
+ The hierarchical format.
+
+
+ An unknown format.
+
+
+ The W3C format.
+
+
+ Describes the relationship between the activity, its parents and its children in a trace.
+
+
+ Outgoing request to the external component.
+
+
+ Output received from an external component.
+
+
+ Internal operation within an application, as opposed to operations with remote parents or children. This is the default value.
+
+
+ Output provided to external components.
+
+
+ Requests incoming from external component.
+
+
+ Activities may be linked to zero or more activity context instances that are causally related.
+
+Activity links can point to activity contexts inside a single trace or across different traces.
+
+Activity links can be used to represent batched operations where an activity was initiated by multiple initiating activities, each representing a single incoming item being processed in the batch.
+
+
+ Constructs a new activity link, which can be linked to an activity.
+ The trace activity context.
+ The key-value pair list of tags associated to the activity context.
+
+
+ Indicates whether the current activity link is equal to another activity link.
+ The activity link to compare.
+
+ if the current activity link is equal to ; otherwise, .
+
+
+ Indicates whether the current activity link is equal to another object.
+ The object to compare.
+
+ if the current activity link is equal to ; otherwise, .
+
+
+ Provides a hash function for the current that's suitable for hashing algorithms and data structures, such as hash tables.
+ A hash code for the current .
+
+
+ Determines whether two specified values are equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are equal; otherwise, .
+
+
+ Determines whether two specified values are not equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are not equal; otherwise, .
+
+
+ Retrieves the activity context inside this activity link.
+
+
+ Retrieves the key-value pair enumeration of tags attached to the activity context.
+ An enumeration of tags attached to the activity context.
+
+
+ Allows listening to the start and stop activity events and gives the opportunity to decide creating an activity for sampling scenarios.
+
+
+ Construct a new activity listener object to start listeneing to the activity events.
+
+
+ Unregisters this activity listener object from listening to activity events.
+
+
+ Gets or sets the callback used to listen to the activity start event.
+ An activity callback instance used to listen to the activity start event.
+
+
+ Gets or sets the callback used to listen to the activity stop event.
+ An activity callback instance used to listen to the activity stop event.
+
+
+ Gets or sets the callback that is used to decide if creating objects with a specific data state is allowed.
+ A sample activity instance.
+
+
+ Gets or sets the callback that is used to decide if creating objects with a specific data state is allowed.
+ A sample activity instance.
+
+
+ Gets or sets the callback that allows deciding if activity object events that were created using the activity source object should be listened or not.
+
+ to listen events; otherwise.
+
+
+ Enumeration values used by to indicate the amount of data to collect for the related . Requesting more data causes a greater performance overhead.
+
+
+ The activity object should be populated with all the propagation information and also all other properties such as Links, Tags, and Events. Using this value causes to return .
+
+
+ The activity object should be populated the same as the case. Additionally, Activity.Recorded is set to . For activities using the W3C trace ids, this sets a flag bit in the ID that will be propagated downstream requesting that the trace is recorded everywhere.
+
+
+ The activity object does not need to be created.
+
+
+ The activity object needs to be created. It will have a Name, a Source, an Id and Baggage. Other properties are unnecessary and will be ignored by this listener.
+
+
+ Provides APIs to create and start objects and to register objects to listen to the events.
+
+
+ Constructs an activity source object with the specified .
+ The name of the activity source object.
+ The version of the component publishing the tracing info.
+
+
+ Adds a listener to the activity starting and stopping events.
+ The activity listener object to use for listening to the activity events.
+
+
+ Creates a new object if there is any listener to the Activity, returns otherwise.
+ The operation name of the Activity
+ The
+ The created object or if there is no any event listener.
+
+
+ Creates a new object if there is any listener to the Activity, returns otherwise.
+ If the Activity object is created, it will not automatically start. Callers will need to call to start it.
+ The operation name of the Activity.
+ The
+ The parent object to initialize the created Activity object with.
+ The optional tags list to initialize the created Activity object with.
+ The optional list to initialize the created Activity object with.
+ The default Id format to use.
+ The created object or if there is no any listener.
+
+
+ Creates a new object if there is any listener to the Activity, returns otherwise.
+ The operation name of the Activity.
+ The
+ The parent Id to initialize the created Activity object with.
+ The optional tags list to initialize the created Activity object with.
+ The optional list to initialize the created Activity object with.
+ The default Id format to use.
+ The created object or if there is no any listener.
+
+
+ Disposes the activity source object, removes the current instance from the global list, and empties the listeners list.
+
+
+ Checks if there are any listeners for this activity source.
+
+ if there is a listener registered for this activity source; otherwise, .
+
+
+ Creates and starts a new object if there is any listener to the Activity events, returns otherwise.
+ The
+ The parent object to initialize the created Activity object with.
+ The optional tags list to initialize the created Activity object with.
+ The optional list to initialize the created Activity object with.
+ The optional start timestamp to set on the created Activity object.
+ The operation name of the Activity.
+ The created object or if there is no any listener.
+
+
+ Creates a new activity if there are active listeners for it, using the specified name and activity kind.
+ The operation name of the activity.
+ The activity kind.
+ The created activity object, if it had active listeners, or if it has no event listeners.
+
+
+ Creates a new activity if there are active listeners for it, using the specified name, activity kind, parent activity context, tags, optional activity link and optional start time.
+ The operation name of the activity.
+ The activity kind.
+ The parent object to initialize the created activity object with.
+ The optional tags list to initialize the created activity object with.
+ The optional list to initialize the created activity object with.
+ The optional start timestamp to set on the created activity object.
+ The created activity object, if it had active listeners, or if it has no event listeners.
+
+
+ Creates a new activity if there are active listeners for it, using the specified name, activity kind, parent Id, tags, optional activity links and optional start time.
+ The operation name of the activity.
+ The activity kind.
+ The parent Id to initialize the created activity object with.
+ The optional tags list to initialize the created activity object with.
+ The optional list to initialize the created activity object with.
+ The optional start timestamp to set on the created activity object.
+ The created activity object, if it had active listeners, or if it has no event listeners.
+
+
+ Returns the activity source name.
+ A string that represents the activity source name.
+
+
+ Returns the activity source version.
+ A string that represents the activity source version.
+
+
+ Represents a formatted based on a W3C standard.
+
+
+ Copies the 8 bytes of the current to a specified span.
+ The span to which the 8 bytes of the SpanID are to be copied.
+
+
+ Creates a new value from a read-only span of eight bytes.
+ A read-only span of eight bytes.
+
+ does not contain eight bytes.
+ The new span ID.
+
+
+ Creates a new value from a read-only span of 16 hexadecimal characters.
+ A span that contains 16 hexadecimal characters.
+
+ does not contain 16 hexadecimal characters.
+
+-or-
+
+The characters in are not all lower-case hexadecimal characters or all zeros.
+ The new span ID.
+
+
+ Creates a new value from a read-only span of UTF8-encoded bytes.
+ A read-only span of UTF8-encoded bytes.
+ The new span ID.
+
+
+ Creates a new based on a random number (that is very likely to be unique).
+ The new span ID.
+
+
+ Determines whether this instance and the specified instance have the same value.
+ The instance to compare.
+
+ if has the same hex value as the current instance; otherwise, .
+
+
+ the current instance and a specified object, which also must be an instance, have the same value.
+ The object to compare.
+
+ if is an instance of and has the same hex value as the current instance; otherwise, .
+
+
+ Returns the hash code of the SpanId.
+ The hash code of the SpanId.
+
+
+ Determines whether two specified instances have the same value.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the SpanId of is the same as the SpanId of ; otherwise, .
+
+
+ Determine whether two specified instances have unequal values.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the SpanId of is different from the SpanId of ; otherwise, .
+
+
+ Returns a 16-character hexadecimal string that represents this span ID.
+ The 16-character hexadecimal string representation of this span ID.
+
+
+ Returns a 16-character hexadecimal string that represents this span ID.
+ The 16-character hexadecimal string representation of this span ID.
+
+
+ Define the status code of the Activity which indicate the status of the instrumented operation.
+
+
+ Status code indicating an error is encountered during the operation.
+
+
+ Status code indicating the operation has been validated and completed successfully.
+
+
+ Unset status code is the default value indicating the status code is not initialized.
+
+
+ ActivityTagsCollection is a collection class used to store tracing tags.
+
+This collection will be used with classes like and .
+
+This collection behaves as follows:
+- The collection items will be ordered according to how they are added.
+- Don't allow duplication of items with the same key.
+- When using the indexer to store an item in the collection:
+ - If the item has a key that previously existed in the collection and the value is , the collection item matching the key will be removed from the collection.
+ - If the item has a key that previously existed in the collection and the value is not , the new item value will replace the old value stored in the collection.
+ - Otherwise, the item will be added to the collection.
+- Add method will add a new item to the collection if an item doesn't already exist with the same key. Otherwise, it will throw an exception.
+
+
+ Create a new instance of the collection.
+
+
+ Create a new instance of the collection and store the input list items in the collection.
+ Initial list to store in the collection.
+
+
+ Adds an item to the collection.
+ Key and value pair of the tag to add to the collection.
+
+ already exists in the list.
+
+ is .
+
+
+ Adds a tag with the provided key and value to the collection. This collection doesn't allow adding two tags with the same key.
+ The tag key.
+ The tag value.
+
+
+ Removes all items from the collection.
+
+
+ Determines whether the contains a specific value.
+ The object to locate in the .
+
+ if is found in the ; otherwise, .
+
+
+ Determines whether the collection contains an element with the specified key.
+ The key to locate in the .
+
+ if the collection contains tag with that key. otherwise.
+
+
+ Copies the elements of the collection to an array, starting at a particular array index.
+ The array that is the destination of the elements copied from collection.
+ The zero-based index in array at which copying begins.
+
+
+ Returns an enumerator that iterates through the collection.
+ An enumerator for the .
+
+
+ Removes the first occurrence of a specific item from the collection.
+ The tag key value pair to remove.
+
+ if item was successfully removed from the collection; otherwise, . This method also returns if item is not found in the original collection.
+
+
+ Removes the tag with the specified key from the collection.
+ The tag key.
+
+ if the item existed and removed. otherwise.
+
+
+ Returns an enumerator that iterates through the collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Returns an enumerator that iterates through the collection.
+ An object that can be used to iterate through the collection.
+
+
+ Gets the value associated with the specified key.
+ The tag key.
+ The tag value.
+ When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized.
+
+
+ Gets the number of elements contained in the collection.
+
+
+ Gets a value indicating whether the collection is read-only. This always returns .
+ Always returns .
+
+
+ Gets or sets a specified collection item.
+
+ When setting a value to this indexer property, the following behavior is observed:
+- If the key previously existed in the collection and the value is , the collection item matching the key will get removed from the collection.
+- If the key previously existed in the collection and the value is not , the value will replace the old value stored in the collection.
+- Otherwise, a new item will get added to the collection.
+ The key of the value to get or set.
+ The object mapped to the key.
+
+
+ Get the list of the keys of all stored tags.
+
+
+ Get the list of the values of all stored tags.
+
+
+ Enumerates the elements of an .
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+ Advances the enumerator to the next element of the collection.
+
+ if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection.
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Specifies flags defined by the W3C standard that are associated with an activity.
+
+
+ The activity has not been marked.
+
+
+ The activity (or more likely its parents) has been marked as useful to record.
+
+
+ Represents a whose format is based on a W3C standard.
+
+
+ Copies the 16 bytes of the current to a specified span.
+ The span to which the 16 bytes of the trace ID are to be copied.
+
+
+ Creates a new value from a read-only span of 16 bytes.
+ A read-only span of 16 bytes.
+
+ does not contain eight bytes.
+ The new trace ID.
+
+
+ Creates a new value from a read-only span of 32 hexadecimal characters.
+ A span that contains 32 hexadecimal characters.
+
+ does not contain 16 hexadecimal characters.
+
+-or-
+
+The characters in are not all lower-case hexadecimal characters or all zeros.
+ The new trace ID.
+
+
+ Creates a new value from a read-only span of UTF8-encoded bytes.
+ A read-only span of UTF8-encoded bytes.
+ The new trace ID.
+
+
+ Creates a new based on a random number (that is very likely to be unique).
+ The new .
+
+
+ Determines whether the current instance and a specified are equal.
+ The instance to compare.
+
+ if has the same hex value as the current instance; otherwise, .
+
+
+ Determines whether this instance and a specified object, which must also be an instance, have the same value.
+ The object to compare.
+
+ if is an instance of and has the same hex value as the current instance; otherwise, .
+
+
+ Returns the hash code of the TraceId.
+ The hash code of the TraceId.
+
+
+ Determines whether two specified instances have the same value.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the TraceId of is the same as the TraceId of ; otherwise, .
+
+
+ Determines whether two specified instances have the same value.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the TraceId of is different from the TraceId of ; otherwise, .
+
+
+ Returns a 16-character hexadecimal string that represents this span ID.
+ The 32-character hexadecimal string representation of this trace ID.
+
+
+ Returns a 32-character hexadecimal string that represents this trace ID.
+ The 32-character hexadecimal string representation of this trace ID.
+
+
+ Provides an implementation of the abstract class that represents a named place to which a source sends its information (events).
+
+
+ Creates a new .
+ The name of this .
+
+
+ Disposes the NotificationListeners.
+
+
+ Determines whether there are any registered subscribers.
+
+ if there are any registered subscribers, otherwise.
+
+
+ Checks whether the is enabled.
+ The name of the event to check.
+
+ if notifications are enabled; otherwise, .
+
+
+ Checks if any subscriber to the diagnostic events is interested in receiving events with this name. Subscribers indicate their interest using a delegate provided in .
+ The name of the event to check.
+ The object that represents a context.
+ The object that represents a context.
+
+ if it is enabled, otherwise.
+
+
+ Invokes the OnActivityExport method of all the subscribers.
+ The activity affected by an external event.
+ An object that represents the outgoing request.
+
+
+ Invokes the OnActivityImport method of all the subscribers.
+ The activity affected by an external event.
+ An object that represents the incoming request.
+
+
+ Adds a subscriber.
+ A subscriber.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Adds a subscriber, and optionally filters events based on their name and up to two context objects.
+ A subscriber.
+ A delegate that filters events based on their name and up to two context objects (which can be ), or to if an event filter is not desirable.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Adds a subscriber, optionally filters events based on their name and up to two context objects, and specifies methods to call when providers import or export activites from outside the process.
+ A subscriber.
+ A delegate that filters events based on their name and up to two context objects (which can be ), or if an event filter is not desirable.
+ An action delegate that receives the activity affected by an external event and an object that represents the incoming request.
+ An action delegate that receives the activity affected by an external event and an object that represents the outgoing request.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Adds a subscriber, and optionally filters events based on their name.
+ A subscriber.
+ A delegate that filters events based on their name (). The delegate should return if the event is enabled.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Returns a string with the name of this DiagnosticListener.
+ The name of this DiagnosticListener.
+
+
+ Logs a notification.
+ The name of the event to log.
+ An object that represents the payload for the event.
+
+
+ Gets the collection of listeners for this .
+
+
+ Gets the name of this .
+ The name of the .
+
+
+ An abstract class that allows code to be instrumented for production-time logging of rich data payloads for consumption within the process that was instrumented.
+
+
+ Initializes an instance of the class.
+
+
+ Verifies if the notification event is enabled.
+ The name of the event being written.
+
+ if the notification event is enabled, otherwise.
+
+
+ Verifies it the notification event is enabled.
+ The name of the event being written.
+ An object that represents the additional context for IsEnabled. Consumers should expect to receive which may indicate that producer called pure IsEnabled(string) to check if consumer wants to get notifications for such events at all. Based on that, producer may call IsEnabled(string, object, object) again with non- context.
+ Optional. An object that represents the additional context for IsEnabled. by default. Consumers should expect to receive which may indicate that producer called pure IsEnabled(string) or producer passed all necessary context in .
+
+ if the notification event is enabled, otherwise.
+
+
+ Transfers state from an activity to some event or operation, such as an outgoing HTTP request, that will occur outside the process.
+ The activity affected by an external event.
+ An object that represents the outgoing request.
+
+
+ Transfers state to an activity from some event or operation, such as an incoming request, that occurred outside the process.
+ The activity affected by an external event.
+ A payload that represents the incoming request.
+
+
+ Starts an and writes a start event.
+ The to be started.
+ An object that represent the value being passed as a payload for the event.
+ The started activity for convenient chaining.
+
+
+ Stops the given , maintains the global activity, and notifies consumers that the was stopped.
+ The activity to be stopped.
+ An object that represents the value passed as a payload for the event.
+
+
+ Provides a generic way of logging complex payloads.
+ The name of the event being written.
+ An object that represents the value being passed as a payload for the event. This is often an anonymous type which contains several sub-values.
+
+
+ An implementation of determines if and how distributed context information is encoded and decoded as it traverses the network.
+ The encoding can be transported over any network protocol that supports string key-value pairs. For example, when using HTTP, each key-value pair is an HTTP header.
+ injects values into and extracts values from carriers as string key-value pairs.
+
+
+ Initializes an instance of the class. This constructor is protected and only meant to be called from parent classes.
+
+
+ Returns the default propagator object that will be initialized with.
+ An instance of the class.
+
+
+ Returns a propagator that does not transmit any distributed context information in outbound network messages.
+ An instance of the class.
+
+
+ Returns a propagator that attempts to act transparently, emitting the same data on outbound network requests that was received on the inbound request.
+ When encoding the outbound message, this propagator uses information from the request's root Activity, ignoring any intermediate Activities that may have been created while processing the request.
+ An instance of the class.
+
+
+ Extracts the baggage key-value pair list from an incoming request represented by the carrier. For example, from the headers of an HTTP request.
+ The medium from which values will be read.
+ The callback method to invoke to get the propagation baggage list from the carrier.
+ Returns the extracted key-value pair list from the carrier.
+
+
+ Extracts the trace ID and trace state from an incoming request represented by the carrier. For example, from the headers of an HTTP request.
+ The medium from which values will be read.
+ The callback method to invoke to get the propagation trace ID and state from the carrier.
+ When this method returns, contains the trace ID extracted from the carrier.
+ When this method returns, contains the trace state extracted from the carrier.
+
+
+ Injects the trace values stroed in the object into a carrier. For example, into the headers of an HTTP request.
+ The Activity object has the distributed context to inject to the carrier.
+ The medium in which the distributed context will be stored.
+ The callback method to invoke to set a named key-value pair on the carrier.
+
+
+ Get or set the process-wide propagator object to use as the current selected propagator.
+ The currently selected process-wide propagator object.
+
+
+ Gets the set of field names this propagator is likely to read or write.
+ The list of fields that will be used by the DistributedContextPropagator
.
+
+
+ Represents the callback method that's used in the extract methods of propagators. The callback is invoked to look up the value of a named field.
+ The medium used by propagators to read values from.
+ The propagation field name.
+ When this method returns, contains the value that corresponds to . The value is non- if there is only one value for the input field name.
+ When this method returns, contains a collection of values that correspond to . The value is non- if there is more than one value for the input field name.
+
+
+ Represents the callback method that's used in propagators' inject methods. This callback is invoked to set the value of a named field.
+ Propagators may invoke it multiple times in order to set multiple fields.
+ The medium used by propagators to write values to.
+ The propagation field name.
+ The value corresponding to .
+
+
+ Represents an instrument that supports adding non-negative values. For example, you might call counter.Add(1) each time a request is processed to track the total number of requests. Most metric viewers display counters using a rate (requests/sec), by default, but can also display a cumulative total.
+ The type that the counter represents.
+
+
+ Record the increment value of the measurement.
+ The increment measurement.
+
+
+ Record the increment value of the measurement.
+ The increment measurement.
+ A key-value pair tag associated with the measurement.
+
+
+ Record the increment value of the measurement.
+ The increment measurement.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Record the increment value of the measurement.
+ The increment measurement.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Record the increment value of the measurement.
+ The increment measurement.
+ A list of key-value pair tags associated with the measurement.
+
+
+ Adds the increment value of the measurement.
+ The measurement value.
+ The tags associated with the measurement.
+
+
+ Record the increment value of the measurement.
+ The increment measurement.
+ A span of key-value pair tags associated with the measurement.
+
+
+ Represents a metrics Instrument that can be used to report arbitrary values that are likely to be statistically meaningful.
+ e.g. the request duration.
+ Use method to create the Histogram object.
+ The type that the histogram represents.
+
+
+ Record a measurement value.
+ The measurement value.
+
+
+ Record a measurement value.
+ The measurement value.
+ A key-value pair tag associated with the measurement.
+
+
+ Record a measurement value.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Record a measurement value.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Record a measurement value.
+ The measurement value.
+ A list of key-value pair tags associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ The tags associated with the measurement.
+
+
+ Record a measurement value.
+ The measurement value.
+ A span of key-value pair tags associated with the measurement.
+
+
+ Base class of all Metrics Instrument classes
+
+
+ Protected constructor to initialize the common instrument properties like the meter, name, description, and unit.
+ All classes extending Instrument need to call this constructor when constructing object of the extended class.
+ The meter that created the instrument.
+ The instrument name. cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+
+
+ Publish is activating the instrument to start recording measurements and to allow listeners to start listening to such measurements.
+
+
+ Gets the instrument description.
+
+
+ Checks if there is any listeners for this instrument.
+
+
+ A property tells if the instrument is an observable instrument.
+
+
+ Gets the Meter which created the instrument.
+
+
+ Gets the instrument name.
+
+
+ Gets the instrument unit of measurements.
+
+
+ The base class for all non-observable instruments.
+ The type that the instrument represents.
+
+
+ Create the metrics instrument using the properties meter, name, description, and unit.
+ All classes extending Instrument{T} need to call this constructor when constructing object of the extended class.
+ The meter that created the instrument.
+ The instrument name. cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+
+
+ Record the measurement by notifying all objects which listening to this instrument.
+ The measurement value.
+
+
+ Record the measurement by notifying all objects which listening to this instrument.
+ The measurement value.
+ A key-value pair tag associated with the measurement.
+
+
+ Record the measurement by notifying all objects which listening to this instrument.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Record the measurement by notifying all objects which listening to this instrument.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ The tags associated with the measurement.
+
+
+ Record the measurement by notifying all objects which listening to this instrument.
+ The measurement value.
+ A span of key-value pair tags associated with the measurement.
+
+
+ Stores one observed metrics value and its associated tags. This type is used by an Observable instrument's Observe() method when reporting current measurements.
+ with the associated tags.
+ The type that the measurement represents.
+
+
+ Initializes a new instance of the Measurement using the value and the list of tags.
+ The measurement value.
+
+
+ Initializes a new instance of the Measurement using the value and the list of tags.
+ The measurement value.
+ The measurement associated tags list.
+
+
+ Initializes a new instance of the Measurement using the value and the list of tags.
+ The measurement value.
+ The measurement associated tags list.
+
+
+ Initializes a new instance of the Measurement using the value and the list of tags.
+ The measurement value.
+ The measurement associated tags list.
+
+
+ Gets the measurement tags list.
+
+
+ Gets the measurement value.
+
+
+ A delegate to represent the Meterlistener callbacks used in measurements recording operation.
+ The that was responsible for sending the measurement.
+ The measurement value.
+ A span of key-value pair tags associated with the measurement.
+ The state object originally passed to method.
+ The type that the measurement represents.
+
+
+ Meter is the class responsible for creating and tracking the Instruments.
+
+
+ Initializes a new instance of the Meter using the meter name.
+ The Meter name.
+
+
+ Initializes a new instance of the Meter using the meter name and version.
+ The Meter name.
+ The optional Meter version.
+
+
+ Create a metrics Counter object.
+ The instrument name. cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new counter.
+
+
+ Creates a Histogram, which is an instrument that can be used to report arbitrary values that are likely to be statistically meaningful. It is intended for statistics such as histograms, summaries, and percentile.
+ The instrument name. cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new histogram.
+
+
+ Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed.
+ The instrument name. cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe()
is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement..
+ A new observable counter.
+
+
+ Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed.
+ The instrument name. cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe()
is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable counter.
+
+
+ Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed.
+ The instrument name. cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe()
is called by
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable counter.
+
+
+ Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed. An example of a non-additive value is the room temperature - it makes no sense to report the temperature value from multiple rooms and sum them up.
+ The instrument name. cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe()
is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable gauge.
+
+
+ Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed. An example of a non-additive value is the room temperature - it makes no sense to report the temperature value from multiple rooms and sum them up.
+ The instrument name. cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe()
is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable gauge.
+
+
+ Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed. An example of a non-additive value is the room temperature - it makes no sense to report the temperature value from multiple rooms and sum them up.
+ The instrument name. cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe()
is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable gauge.
+
+
+ Dispose the Meter which will disable all instruments created by this meter.
+
+
+ Gets the Meter name.
+ The Meter name
+
+
+ Gets the Meter version.
+ The Meter version.
+
+
+ MeterListener is class used to listen to the metrics instrument measurements recording.
+
+
+ Creates a MeterListener object.
+
+
+ Stop listening to a specific instrument measurement recording.
+ The instrument to stop listening to.
+ The state object originally passed to method.
+
+
+ Disposes the listeners which will stop it from listening to any instrument.
+
+
+ Start listening to a specific instrument measurement recording.
+ The instrument to listen to.
+ A state object which will be passed back to the callback getting measurements events.
+
+
+ Calls all Observable instruments which the listener is listening to then calls with every collected measurement.
+
+
+ Sets a callback for a specific numeric type to get the measurement recording notification from all instruments which enabled listening and was created with the same specified numeric type.
+ If a measurement of type T is recorded and a callback of type T is registered, that callback will be used.
+ The callback which can be used to get measurement recording of numeric type T.
+ The type of the numeric measurement.
+
+
+ Enable the listener to start listening to instruments measurement recording.
+
+
+ Gets or sets the callback to get notified when an instrument is published.
+ The callback to get notified when an instrument is published.
+
+
+ Gets or sets the callback to get notified when the measurement is stopped on some instrument.
+ This can happen when the Meter or the Listener is disposed or calling on the listener.
+ The callback to get notified when the measurement is stopped on some instrument.
+
+
+ ObservableCounter is a metrics observable Instrument which reports monotonically increasing value(s) when the instrument is being observed.
+ e.g. CPU time (for different processes, threads, user mode or kernel mode).
+ Use Meter.CreateObservableCounter methods to create the observable counter object.
+ The type that the observable counter represents.
+
+
+ ObservableGauge is an observable Instrument that reports non-additive value(s) when the instrument is being observed.
+ e.g. the current room temperature Use Meter.CreateObservableGauge methods to create the observable counter object.
+
+
+
+ ObservableInstrument{T} is the base class from which all metrics observable instruments will inherit from.
+ The type that the observable instrument represents.
+
+
+ Create the metrics observable instrument using the properties meter, name, description, and unit.
+ All classes extending ObservableInstrument{T} need to call this constructor when constructing object of the extended class.
+ The meter that created the instrument.
+ The instrument name. cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+
+
+ Fetches the current measurements being tracked by this instrument. All classes extending ObservableInstrument{T} need to implement this method.
+ The current measurements tracked by this instrument.
+
+
+ Gets a value that indicates if the instrument is an observable instrument.
+
+ if the instrument is metrics-observable; otherwise.
+
+
+ A delegate that defines the signature of the callbacks used in the sampling process.
+ The Activity creation options used by callbacks to decide creating the Activity object or not.
+ The type of the requested parent to create the Activity object with. Should be either a string or an instance.
+ An object containing the sampling results, which indicate the amount of data to collect for the related .
+
+
+ Represents a list of tags that can be accessed by index. Provides methods to search, sort, and manipulate lists.
+
+
+ Initializes a new instance of using the specified .
+ A span of tags to initialize the list with.
+
+
+ Adds a tag to the list.
+ The key-value pair of the tag to add to the list.
+
+
+ Adds a tag with the specified and to the list.
+ The tag key.
+ The tag value.
+
+
+ Removes all elements from the .
+
+
+ Determines whether a tag is in the .
+ The tag to locate in the .
+
+ if item is found in the ; otherwise, .
+
+
+ Copies the entire to a compatible one-dimensional array, starting at the specified index of the target array.
+ The one-dimensional Array that is the destination of the elements copied from . The Array must have zero-based indexing.
+ The zero-based index in at which copying begins.
+
+ is .
+
+ is less than 0 or greater than or equal to the length.
+
+
+ Copies the contents of this into a destination span.
+ The destination object.
+
+ The number of elements in the source is greater than the number of elements that the destination span.
+
+
+ Returns an enumerator that iterates through the .
+ An enumerator that iterates through the .
+
+
+ Searches for the specified tag and returns the zero-based index of the first occurrence within the entire .
+ The tag to locate in the .
+ The zero-based index of the first ocurrence of in the tag list.
+
+
+ Inserts an element into the at the specified index.
+ The zero-based index at which the item should be inserted.
+ The tag to insert.
+
+ is less than 0 or is greater than .
+
+
+ Removes the first occurrence of a specific object from the .
+ The tag to remove from the .
+
+ if is successfully removed; otherwise, . This method also returns if was not found in the .
+
+
+ Removes the element at the specified index of the .
+ The zero-based index of the element to remove.
+
+ index is less than 0 or is greater than .
+
+
+ Returns an enumerator that iterates through the .
+ An enumerator that iterates through the .
+
+
+ Gets the number of tags contained in the .
+
+
+ Gets a value indicating whether the is read-only. This property will always return .
+
+
+ Gets or sets the tags at the specified index.
+ The item index.
+
+ is not a valid index in the .
+
+
+ An enumerator for traversing a tag list collection.
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+ Advances the enumerator to the next element of the collection.
+
+ if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection.
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+
\ No newline at end of file
diff --git a/LeatherProject/LeatherApp/bin/Debug/System.Formats.Asn1.xml b/LeatherProject/LeatherApp/bin/Debug/System.Formats.Asn1.xml
new file mode 100644
index 0000000..5ea82c8
--- /dev/null
+++ b/LeatherProject/LeatherApp/bin/Debug/System.Formats.Asn1.xml
@@ -0,0 +1,2143 @@
+
+
+
+ System.Formats.Asn1
+
+
+
+ This type represents an ASN.1 tag, as described in ITU-T Recommendation X.680.
+
+
+ Represents the universal class tag for a Boolean value.
+
+
+ Represents the universal class tag for a Bit String value under a constructed encoding.
+
+
+ Represents the universal class tag for a Octet String value under a constructed encoding.
+
+
+ Represents the universal class tag for an Enumerated value.
+
+
+ Represents the universal class tag for a GeneralizedTime value.
+
+
+ Represents the universal class tag for an Integer value.
+
+
+ Represents the universal class tag for a value.
+
+
+ Represents the universal class tag for an Object Identifier value.
+
+
+ Represents the universal class tag for a Bit String value under a primitive encoding.
+
+
+ Represents the universal class tag for an Octet String value under a primitive encoding.
+
+
+ Represents the universal class tag for a Sequence value (always a constructed encoding).
+
+
+ Represents the universal class tag for a SetOf value (always a constructed encoding).
+
+
+ Represents the universal class tag for a UtcTime value.
+
+
+ Create an for a specified value within a specified tag class.
+ The tag class for this tag.
+ The numeric value for this tag.
+
+ for a constructed tag, for a primitive tag.
+
+ is not a known value.
+ -or-
+ is negative.
+
+
+ Create an for a tag from the UNIVERSAL class.
+ One of the enumeration values that specifies the semantic type for this tag.
+
+ for a constructed tag, for a primitive tag.
+
+ is not a known value.
+
+
+ Produces a tag with the same and values, but whose is .
+ A tag with the same and values, but whose is .
+
+
+ Produces a tag with the same and values, but whose is .
+ A tag with the same and values, but whose is .
+
+
+ Reports the number of bytes required for the BER-encoding of this tag.
+ The number of bytes required for the BER-encoding of this tag.
+
+
+ Reads a BER-encoded tag which starts at .
+ The read only byte sequence whose beginning is a BER-encoded tag.
+ When this method returns, contains the number of bytes that contributed to the encoded tag. This parameter is treated as uninitialized.
+ The provided data does not decode to a tag.
+ The decoded tag.
+
+
+ Writes the BER-encoded form of this tag to .
+ The start of where the encoded tag should be written.
+
+ . < .
+ The number of bytes written to .
+
+
+ Tests if has the same encoding as this tag.
+ Tag to test for equality.
+
+ if has the same values for , , and ; otherwise.
+
+
+ Tests if is an with the same encoding as this tag.
+ Object to test for value equality.
+
+ if is not an , otherwise.
+
+
+ Returns the hash code for this instance.
+ A 32-bit signed integer hash code.
+
+
+ Tests if has the same and values as this tag, and does not compare .
+ Tag to test for concept equality.
+
+ if has the same and as this tag, otherwise.
+
+
+ Tests if two values have the same BER encoding.
+ The first value to compare.
+ The second value to compare.
+
+ if and have the same BER encoding, otherwise.
+
+
+ Tests if two values have a different BER encoding.
+ The first value to compare.
+ The second value to compare.
+
+ if and have a different BER encoding, otherwise.
+
+
+ Provides a text representation of this tag suitable for debugging.
+ A text representation of this tag suitable for debugging.
+
+
+ Attempts to read a BER-encoded tag which starts at .
+ The read only byte sequence whose beginning is a BER-encoded tag.
+ The decoded tag.
+ When this method returns, contains the number of bytes that contributed to the encoded tag, 0 on failure. This parameter is treated as uninitialized.
+
+ if a tag was correctly decoded; otherwise, .
+
+
+ Attempts to write the BER-encoded form of this tag to .
+ The start of where the encoded tag should be written.
+ Receives the value from on success, 0 on failure.
+
+ if . < (), otherwise.
+
+
+ Indicates if the tag represents a constructed encoding (), or a primitive encoding ().
+
+
+ The tag class to which this tag belongs.
+
+
+ The numeric value for this tag.
+
+
+ The exception that is thrown when an encoded ASN.1 value cannot be successfully decoded.
+
+
+ Initializes a new instance of the class, using the default message.
+
+
+ Initializes a new instance of the class with serialized data.
+ The object that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+ Initializes a new instance of the class, using the provided message.
+ The error message that explains the reason for the exception.
+
+
+ Initializes a new instance of the class, using the provided message and exception that is the cause of this exception.
+ The error message that explains the reason for the exception.
+ The exception that is the cause of the current exception.
+
+
+ Provides stateless methods for decoding BER-encoded, CER-encoded, and DER-encoded ASN.1 data.
+
+
+ Reads a Bit String value from with a specified tag under the specified encoding rules, returning the contents in a new array.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ On success, receives the number of bits in the last byte which were reported as "unused" by the writer.
+ This parameter is treated as uninitialized.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 3).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ An array containing the contents of the Bit String value.
+
+
+ Reads a Boolean value from with a specified tag under the specified encoding rules.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 1).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ The decoded value.
+
+
+ Reads the next value as character string with the specified tag and encoding type, returning the decoded string.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ One of the enumeration values which represents the value type to process.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the universal tag that is appropriate to the requested encoding type.
+
+ is not defined.
+
+-or-
+
+ is not a known character string type.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+-or-
+
+The string did not successfully decode.
+
+ . is , but . is not the same as .
+ The decoded value.
+
+
+ Locates the contents range for the encoded value at the beginning of the buffer using the specified encoding rules.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ When this method returns, the offset of the content payload relative to the start of .
+ This parameter is treated as uninitialized.
+ When this method returns, the number of bytes in the content payload (which may be 0).
+ This parameter is treated as uninitialized.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+
+ is not defined.
+
+ does not represent a value encoded under the specified encoding rules.
+ The tag identifying the content.
+
+
+ Reads an Enumerated value from with a specified tag under the specified encoding rules, returning the contents as a slice of the buffer.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 10).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ The slice of the buffer containing the bytes of the Enumerated value, in signed big-endian form.
+
+
+ Reads an Enumerated from with a specified tag under the specified encoding rules, converting it to the non-[] enum specified by .
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ Type object representing the destination type.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 10).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+-or-
+
+The encoded value is too big to fit in a value.
+
+ is not an enum type.
+
+-or-
+
+ was declared with .
+
+-or-
+
+. is , but . is not correct for the method.
+
+ is .
+ The Enumerated value converted to a .
+
+
+ Reads an Enumerated from with a specified tag under the specified encoding rules, converting it to the non-[] enum specified by .
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 10).
+ Destination enum type.
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+-or-
+
+The encoded value is too big to fit in a value.
+
+ is not an enum type.
+
+-or-
+
+ was declared with .
+
+-or-
+
+. is , but . is not correct for the method.
+ The Enumerated value converted to a .
+
+
+ Reads a GeneralizedTime value from with a specified tag under the specified encoding rules.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 24).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ The decoded value.
+
+
+ Reads an Integer value from with a specified tag under the specified encoding rules.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 2).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ The decoded numeric value.
+
+
+ Reads an Integer value from with a specified tag under the specified encoding rules, returning the contents as a slice of the buffer.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 2).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ The slice of the buffer containing the bytes of the Integer value, in signed big-endian form.
+
+
+ Reads a NamedBitList from with a specified tag under the specified encoding rules.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 3).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ The bits from the encoded value.
+
+
+ Reads a NamedBitList from with a specified tag under the specified encoding rules, converting it to the [] enum specified by .
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ Type object representing the destination type.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 3).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+-or-
+
+The encoded value is too big to fit in a value.
+
+ is not an enum type.
+
+-or-
+
+ was not declared with
+
+-or-
+
+. is , but . is not correct for the method.
+
+ is
+ The NamedBitList value converted to a .
+
+
+ Reads a NamedBitList from with a specified tag under the specified encoding rules, converting it to the [] enum specified by .
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 3).
+ Destination enum type.
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+-or-
+
+The encoded value is too big to fit in a value.
+
+ is not an enum type.
+
+-or-
+
+ was not declared with
+
+-or-
+
+. is , but . is not correct for the method.
+ The NamedBitList value converted to a .
+
+
+ Reads a value from with a specified tag under the specified encoding rules.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 5).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+
+ Reads an Object Identifier value from with a specified tag under the specified encoding rules.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 6).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ The decoded object identifier, in dotted-decimal notation.
+
+
+ Reads an Octet String value from with a specified tag under the specified encoding rules, returning the contents in a new array.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 4).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ An array containing the contents of the Octet String value.
+
+
+ Reads a Sequence or Sequence-Of value from with a specified tag under the specified encoding rules.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ When this method returns, the offset of the content payload relative to the start of .
+ This parameter is treated as uninitialized.
+ When this method returns, the number of bytes in the content payload (which may be 0).
+ This parameter is treated as uninitialized.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 16).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+
+ Reads a Set-Of value from with a specified tag under the specified encoding rules.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ When this method returns, the offset of the content payload relative to the start of .
+ This parameter is treated as uninitialized.
+ When this method returns, the number of bytes in the content payload (which may be 0).
+ This parameter is treated as uninitialized.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+
+ to always accept the data in the order it is presented, to verify that the data is sorted correctly when the encoding rules say sorting was required (CER and DER).
+ The tag to check for before reading, or for the default tag (Universal 17).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+
+ Reads a UtcTime value from with a specified tag under the specified encoding rules.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The largest year to represent with this value.
+ The default value, 2049, represents the 1950-2049 range for X.509 certificates.
+ The tag to check for before reading, or for the default tag (Universal 24).
+
+ is not defined.
+
+-or-
+
+ is not in the range [99, 9999].
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ The decoded value.
+
+
+ Attempts to copy a Bit String value from with a specified tag under the specified encoding rules into .
+ The buffer containing encoded data.
+ The buffer in which to write.
+ The encoding constraints to use when interpreting the data.
+ On success, receives the number of bits in the last byte which were reported as "unused" by the writer.
+ This parameter is treated as uninitialized.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ When this method returns, the total number of bytes written to .
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 3).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+-or-
+
+ overlaps .
+
+ if is large enough to receive the value of the Bit String; otherwise, .
+
+
+ Reads a character string value from with a specified tag under the specified encoding rules, copying the decoded string into a provided destination buffer.
+ The buffer containing encoded data.
+ The buffer in which to write.
+ The encoding constraints to use when interpreting the data.
+ One of the enumeration values which represents the value type to process.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ When this method returns, the number of chars written to .
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the universal tag that is appropriate to the requested encoding type.
+
+ is not defined.
+
+-or-
+
+ is not a known character string type.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+-or-
+
+The string did not successfully decode.
+
+ . is , but . is not the same as .
+
+ and advances the reader if had sufficient length to receive the value, otherwise and the reader does not advance.
+
+
+ Attempts to read a character string value from with a specified tag under the specified encoding rules, copying the unprocessed bytes into the provided destination buffer.
+ The buffer containing encoded data.
+ The buffer in which to write.
+ The encoding constraints to use when interpreting the data.
+ The tag to check for before reading.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ On success, receives the number of bytes written to .
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not a character string tag type.
+
+-or-
+
+ overlaps .
+
+ if is large enough to receive the value of the unprocessed character string; otherwise, .
+
+
+ Attempts locate the contents range for the encoded value at the beginning of the buffer using the specified encoding rules.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ When this method returns, the tag identifying the content.
+ This parameter is treated as uninitialized.
+ When this method returns, the offset of the content payload relative to the start of .
+ This parameter is treated as uninitialized.
+ When this method returns, the number of bytes in the content payload (which may be 0).
+ This parameter is treated as uninitialized.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+
+ is not defined.
+
+ if represents a valid structural encoding for the specified encoding rules; otherwise, .
+
+
+ Attempts to read an Integer value from with a specified tag under the specified encoding rules as a signed 32-bit value.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ On success, receives the interpreted numeric value.
+ This parameter is treated as uninitialized.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 2).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+ if the Integer represents value is between Int32.MinValue and Int32.MaxValue, inclusive; otherwise, .
+
+
+ Attempts to read an Integer value from with a specified tag under the specified encoding rules as a signed 64-bit value.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ On success, receives the interpreted numeric value.
+ This parameter is treated as uninitialized.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 2).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+ if the Integer represents value is between Int64.MinValue and Int64.MaxValue, inclusive; otherwise, .
+
+
+ Attempts to get an Octet String value from with a specified tag under the specified encoding rules, copying the value into the provided destination buffer.
+ The buffer containing encoded data.
+ The buffer in which to write.
+ The encoding constraints to use when interpreting the data.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ When this method returns, the total number of bytes written to .
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 4).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+-or-
+
+ overlaps .
+
+ if is large enough to receive the value of the Octet String; otherwise, .
+
+
+ Attempts to get a Bit String value from with a specified tag under the specified encoding rules, if the value is contained in a single (primitive) encoding.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ On success, receives the number of bits in the last byte which were reported as "unused" by the writer.
+ This parameter is treated as uninitialized.
+ On success, receives a slice of the input buffer that corresponds to the value of the Bit String.
+ This parameter is treated as uninitialized.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 3).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+ if the Bit String value has a primitive encoding and all of the bits reported as unused are set to 0; otherwise, .
+
+
+ Attempts to get an unprocessed character string value from with a specified tag under the specified encoding rules, if the value is contained in a single (primitive) encoding.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ The tag to check for before reading.
+ On success, receives a slice of the input buffer that corresponds to the value of the Bit String.
+ This parameter is treated as uninitialized.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not a character string tag type.
+
+ if the character string value has a primitive encoding; otherwise, .
+
+
+ Attempts to get an Octet String value from with a specified tag under the specified encoding rules, if the value is contained in a single (primitive) encoding.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ On success, receives a slice of the input buffer that corresponds to the value of the Octet String.
+ This parameter is treated as uninitialized.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 4).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+ if the Octet String value has a primitive encoding; otherwise, .
+
+
+ Attempts to read an Integer value from with a specified tag under the specified encoding rules as an unsigned 32-bit value.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ On success, receives the interpreted numeric value.
+ This parameter is treated as uninitialized.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 2).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+ if the Integer represents value is between UInt32.MinValue and UInt32.MaxValue, inclusive; otherwise, .
+
+
+ Attempts to read an Integer value from with a specified tag under the specified encoding rules as an unsigned 64-bit value.
+ The buffer containing encoded data.
+ The encoding constraints to use when interpreting the data.
+ On success, receives the interpreted numeric value.
+ This parameter is treated as uninitialized.
+ When this method returns, the total number of bytes for the encoded value.
+ This parameter is treated as uninitialized.
+ The tag to check for before reading, or for the default tag (Universal 2).
+
+ is not defined.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+ if the Integer represents value is between UInt64.MinValue and UInt64.MaxValue, inclusive; otherwise, .
+
+
+ The encoding ruleset for an or .
+
+
+ ITU-T X.690 Basic Encoding Rules.
+
+
+ ITU-T X.690 Canonical Encoding Rules.
+
+
+ ITU-T X.690 Distinguished Encoding Rules.
+
+
+ A stateful, forward-only reader for BER-, CER-, or DER-encoded ASN.1 data.
+
+
+ Construct an over with a given ruleset.
+ The data to read.
+ The encoding constraints for the reader.
+ Additional options for the reader.
+
+ is not defined.
+
+
+ Clones the current reader.
+ A clone of the current reader.
+
+
+ Get a view of the content octets (bytes) of the next encoded value without advancing the reader.
+ The reader is positioned at a point where the tag or length is invalid under the current encoding rules.
+ The bytes of the contents octets of the next encoded value.
+
+
+ Get a view of the next encoded value without advancing the reader. For indefinite length encodings this includes the End of Contents marker.
+ The reader is positioned at a point where the tag or length is invalid under the current encoding rules.
+ The bytes of the next encoded value.
+
+
+ Read the encoded tag at the next data position, without advancing the reader.
+ A tag could not be decoded at the reader's current position.
+ The decoded tag value.
+
+
+ Reads the next value as a BIT STRING with a specified tag, returning the value in a byte array.
+ On success, receives the number of bits in the last byte which were reported as "unused" by the writer.
+ The tag to check for before reading, or for the default tag (Universal 1).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ A copy of the value in a newly allocated, precisely sized, array.
+
+
+ Reads the next value as a Boolean with a specified tag.
+ The tag to check for before reading, or for the default tag (Universal 1).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ The decoded value.
+
+
+ Reads the next value as character string with the specified tag and encoding type, returning the decoded value as a string.
+ One of the enumeration values representing the value type to process.
+ The tag to check for before reading, or for the universal tag that is appropriate to the requested encoding type.
+
+ is not a known character string type.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+-or-
+
+The string did not successfully decode.
+
+ . is , but . is not the same as .
+ The decoded value.
+
+
+ Get a view of the next encoded value, and advance the reader past it. For an indefinite length encoding this includes the End of Contents marker.
+ A view of the next encoded value.
+
+
+ Reads the next value as a Enumerated with a specified tag, returning the contents as a over the original data.
+ The tag to check for before reading, or for the default tag (Universal 10).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ The bytes of the Enumerated value, in signed big-endian form.
+
+
+ Reads the next value as an Enumerated with a specified tag, converting it to the non-[] enum specified by .
+ Type object representing the destination type.
+ The tag to check for before reading, or for the default tag (Universal 10).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+-or-
+
+The encoded value is too big to fit in a value.
+
+ is not an enum type.
+
+-or-
+
+ was declared with .
+
+-or-
+
+. is , but . is not correct for the method.
+
+ is .
+ The Enumerated value converted to a .
+
+
+ Reads the next value as an Enumerated with a specified tag, converting it to the non-[] enum specified by .
+ The tag to check for before reading, or for the default tag (Universal 10).
+ Destination enum type.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+-or-
+
+The encoded value is too big to fit in a value.
+
+ is not an enum type.
+
+-or-
+
+ was declared with .
+
+-or-
+
+. is , but . is not correct for the method.
+ The Enumerated value converted to a .
+
+
+ Reads the next value as a GeneralizedTime with a specified tag.
+ The tag to check for before reading, or for the default tag (Universal 24).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ The decoded value.
+
+
+ Reads the next value as an Integer with a specified tag.
+ The tag to check for before reading, or for the default tag (Universal 2).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ The decoded value.
+
+
+ Reads the next value as a Integer with a specified tag, returning the contents as a over the original data.
+ The tag to check for before reading, or for the default tag (Universal 2).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ The bytes of the Integer value, in signed big-endian form.
+
+
+ Reads the next value as a NamedBitList with a specified tag.
+ The tag to check for before reading.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ The bits from the encoded value.
+
+
+ Reads the next value as a NamedBitList with a specified tag, converting it to the [] enum specified by .
+ Type object representing the destination type.
+ The tag to check for before reading.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+-or-
+
+The encoded value is too big to fit in a value.
+
+ is not an enum type.
+
+-or-
+
+ was not declared with
+
+-or-
+
+. is , but . is not correct for the method.
+
+ is
+ The NamedBitList value converted to a .
+
+
+ Reads the next value as a NamedBitList with a specified tag, converting it to the [] enum specified by .
+ The tag to check for before reading.
+ Destination enum type.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+-or-
+
+The encoded value is too big to fit in a value.
+
+ is not an enum type.
+
+-or-
+
+ was not declared with
+
+-or-
+
+. is , but . is not correct for the method.
+ The NamedBitList value converted to a .
+
+
+ Reads the next value as a NULL with a specified tag.
+ The tag to check for before reading, or for the default tag (Universal 5).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+
+ Reads the next value as an OBJECT IDENTIFIER with a specified tag, returning the value in a dotted decimal format string.
+ The tag to check for before reading, or for the default tag (Universal 6).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ The object identifier value in a dotted decimal format string.
+
+
+ Reads the next value as an OCTET STRING with tag UNIVERSAL 4, returning the value in a byte array.
+ The tag to check for before reading, or for the default tag (Universal 4).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ A copy of the value in a newly allocated, precisely sized, array.
+
+
+ Reads the next value as a SEQUENCE or SEQUENCE-OF with the specified tag and returns the result as a new reader positioned at the first value in the sequence (or with == ).
+ The tag to check for before reading, or for the default tag (Universal 16).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ A new reader positioned at the first value in the sequence (or with == ).
+
+
+ Reads the next value as a SET-OF with the specified tag and returns the result as a new reader positioned at the first value in the set-of (or with == ).
+
+ to always accept the data in the order it is presented, to verify that the data is sorted correctly when the encoding rules say sorting was required (CER and DER).
+ The tag to check for before reading, or for the default tag (Universal 17).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ A new reader positioned at the first value in the set-of (or with == ).
+
+
+ Reads the next value as a SET-OF with the specified tag and returns the result as a new reader positioned at the first value in the set-of (or with == ), using the value from the constructor (default ).
+ The tag to check for before reading, or for the default tag (Universal 17).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ A new reader positioned at the first value in the set-of (or with == ).
+
+
+ Reads the next value as a UTCTime with a specified tag.
+ The largest year to represent with this value.
+ The tag to check for before reading, or for the default tag (Universal 23).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ The decoded value.
+
+
+ Reads the next value as a UTCTime with a specified tag using the value from options passed to the constructor (with a default of 2049).
+ The tag to check for before reading, or for the default tag (Universal 23).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+ The decoded value.
+
+
+ Throws a standardized if the reader has remaining data, performs no function if returns .
+
+
+ Reads the next value as a BIT STRING with a specified tag, copying the value into a provided destination buffer.
+ The buffer in which to write.
+ On success, receives the number of bits in the last byte which were reported as "unused" by the writer.
+ On success, receives the number of bytes written to .
+ The tag to check for before reading, or for the default tag (Universal 1).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+ and advances the reader if had sufficient length to receive the value, otherwise and the reader does not advance.
+
+
+ Reads the next value as character string with the specified tag and encoding type, copying the decoded value into a provided destination buffer.
+ The buffer in which to write.
+ One of the enumeration values representing the value type to process.
+ On success, receives the number of chars written to .
+ The tag to check for before reading, or for the universal tag that is appropriate to the requested encoding type.
+
+ is not a known character string type.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+-or-
+
+The string did not successfully decode.
+
+ . is , but . is not the same as .
+
+ and advances the reader if had sufficient length to receive the value, otherwise and the reader does not advance.
+
+
+ Reads the next value as character string with the specified tag, copying the unprocessed bytes into a provided destination buffer.
+ The buffer in which to write.
+ The tag to check for before reading.
+ On success, receives the number of bytes written to .
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not a character string tag type.
+
+ and advances the reader if had sufficient length to receive the value, otherwise and the reader does not advance.
+
+
+ Attempts to read the next value as an Integer with a specified tag, as a signed 32-bit value.
+ On success, receives the decoded value.
+ The tag to check for before reading, or for the default tag (Universal 2).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+ and does not advance the reader if the value is not between Int32.MinValue and Int32.MaxValue, inclusive; otherwise is returned and the reader advances.
+
+
+ Attempts to read the next value as an Integer with a specified tag, as a signed 64-bit value.
+ On success, receives the decoded value.
+ The tag to check for before reading, or for the default tag (Universal 2).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+ and does not advance the reader if the value is not between Int64.MinValue and Int64.MaxValue, inclusive; otherwise is returned and the reader advances.
+
+
+ Reads the next value as an OCTET STRING with a specified tag, copying the value into a provided destination buffer.
+ The buffer in which to write.
+ On success, receives the number of bytes written to .
+ The tag to check for before reading, or for the default tag (Universal 4).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+ and advances the reader if had sufficient length to receive the value, otherwise and the reader does not advance.
+
+
+ Reads the next value as a BIT STRING with a specified tag, returning the contents as a over the original data.
+ On success, receives the number of bits in the last byte which were reported as "unused" by the writer.
+ On success, receives a over the original data corresponding to the value of the BIT STRING.
+ The tag to check for before reading, or for the default tag (Universal 1).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+ and advances the reader if the BIT STRING value had a primitive encoding, and does not advance the reader if it had a constructed encoding.
+
+
+ Reads the next value as a character with a specified tag, returning the contents as an unprocessed over the original data.
+ The tag to check for before reading.
+ On success, receives a over the original data corresponding to the value of the character string.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not a character string tag type.
+
+ and advances the reader if the character string value had a primitive encoding, and does not advance the reader if it had a constructed encoding.
+
+
+ Attempts to read the next value as an OCTET STRING with a specified tag, returning the contents as a over the original data.
+ On success, receives a over the original data corresponding to the value of the OCTET STRING.
+ The tag to check for before reading.
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+ and advances the reader if the OCTET STRING value had a primitive encoding, and does not advance the reader if it had a constructed encoding.
+
+
+ Attempts to read the next value as an Integer with a specified tag, as an unsigned 32-bit value.
+ On success, receives the decoded value.
+ The tag to check for before reading, or for the default tag (Universal 2).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+ and does not advance the reader if the value is not between UInt32.MinValue and UInt32.MaxValue, inclusive; otherwise is returned and the reader advances.
+
+
+ Attempts to read the next value as an Integer with a specified tag, as an unsigned 64-bit value.
+ On success, receives the decoded value.
+ The tag to check for before reading, or for the default tag (Universal 2).
+ The next value does not have the correct tag.
+
+-or-
+
+The length encoding is not valid under the current encoding rules.
+
+-or-
+
+The contents are not valid under the current encoding rules.
+
+ . is , but . is not correct for the method.
+
+ and does not advance the reader if the value is not between UInt64.MinValue and UInt64.MaxValue, inclusive; otherwise is returned and the reader advances.
+
+
+ Gets an indication of whether the reader has remaining data available to process.
+
+ if there is more data available for the reader to process; otherwise, .
+
+
+ Gets the encoding rules in use by this reader.
+ The encoding rules in use by this reader.
+
+
+ Specifies options that modify the behavior of an .
+
+
+ Gets or sets a value that indicates whether the reader should bypass sort ordering on a Set or Set-Of value.
+
+ if the reader should not validate that a Set or Set-Of value is sorted correctly for the current encoding rules; otherwise .
+ The default is .
+
+
+ Gets or sets the largest year to represent with a UtcTime value.
+ The largest year to represent with a UtcTime value. The default is 2049.
+
+
+ A writer for BER-, CER-, and DER-encoded ASN.1 data.
+
+
+ Create a new with a given set of encoding rules.
+ The encoding constraints for the writer.
+
+ is not defined.
+
+
+ Initializes a new instance of with a given set of encoding rules and an initial capacity.
+ The encoding constraints for the writer.
+ The minimum capacity with which to initialize the underlying buffer.
+
+ is not defined.
+
+-or-
+
+ is a negative number.
+
+
+ Copy the value of this writer into another.
+ The writer to receive the value.
+
+ is .
+ A or has not been closed via or .
+ -or-
+ This writer is empty.
+ -or-
+ This writer represents more than one top-level value.
+ -or-
+ This writer's value is encoded in a manner that is not compatible with the ruleset for the destination writer.
+
+
+ Return a new array containing the encoded value.
+ A or has not been closed via or .
+ A precisely-sized array containing the encoded value.
+
+
+ Writes the encoded representation of the data to .
+ The buffer in which to write.
+ A or has not been closed via or .
+ The number of bytes written to .
+
+
+ Determines if would produce an output identical to .
+ The instance to compare encoded values against.
+
+ is .
+ A or has not been closed via or .
+
+ if the pending encoded data is identical to , otherwise.
+
+
+ Determines if would produce an output identical to .
+ The encoded value to compare against.
+ A or has not been closed via or .
+
+ if the pending encoded data is identical to , otherwise.
+
+
+ Gets the number of bytes that would be written by .
+
+ , , or was called without the corresponding Pop method.
+ The number of bytes that would be written by .
+
+
+ Indicate that the open Octet String with the tag UNIVERSAL 4 is closed, returning the writer to the parent context.
+ The tag to write, or for the default tag (Universal 4).
+
+ . is , but . is not correct for the method.
+ the writer is not currently positioned within an Octet String with the specified tag.
+
+
+ Indicate that the open Sequence with the specified tag is closed, returning the writer to the parent context.
+ The tag to write, or for the default tag (Universal 16).
+
+ . is , but . is not correct for the method.
+ the writer is not currently positioned within a Sequence with the specified tag.
+
+
+ Indicate that the open Set-Of with the specified tag is closed, returning the writer to the parent context.
+ The tag to write, or for the default tag (Universal 17).
+
+ . is , but . is not correct for the method.
+ the writer is not currently positioned within a Set-Of with the specified tag.
+
+
+ Begin writing an Octet String value with a specified tag.
+ The tag to write, or for the default tag (Universal 4).
+ A disposable value which will automatically call .
+
+
+ Begin writing a Sequence with a specified tag.
+ The tag to write, or for the default tag (Universal 16).
+
+ . is , but . is not correct for the method.
+ A disposable value which will automatically call .
+
+
+ Begin writing a Set-Of with a specified tag.
+ The tag to write, or for the default tag (Universal 17).
+
+ . is , but . is not correct for the method.
+ A disposable value which will automatically call .
+
+
+ Reset the writer to have no data, without releasing resources.
+
+
+ Attempts to write the encoded representation of the data to .
+ The buffer in which to write.
+ On success, receives the number of bytes written to .
+ A or has not been closed via or .
+
+ if the encode succeeded, if is too small.
+
+
+ Write a Bit String value with a specified tag.
+ The value to write.
+ The number of trailing bits which are not semantic.
+ The tag to write, or for the default tag (Universal 3).
+
+ . is , but . is not correct for the method.
+ -or-
+ has length 0 and is not 0
+ -or-
+ is not empty and any of the bits identified by is set.
+
+ is not in the range [0,7].
+
+
+ Write a Boolean value with a specified tag.
+ The value to write.
+ The tag to write, or for the default tag (Universal 1).
+
+ . is , but . is not correct for the method
+
+
+ Write the provided string using the specified encoding type using the specified tag corresponding to the encoding type.
+ One of the enumeration values representing the encoding to use.
+ The string to write.
+ The tag to write, or for the universal tag that is appropriate to the requested encoding type.
+
+ is not a restricted character string encoding type.
+ -or-
+ is a restricted character string encoding type that is not currently supported by this method.
+
+ . is , but . is not correct for the method.
+
+
+ Write the provided string using the specified encoding type using the specified tag corresponding to the encoding type.
+ One of the enumeration values representing the encoding to use.
+ The string to write.
+ The tag to write, or for the universal tag that is appropriate to the requested encoding type.
+
+ is
+
+ is not a restricted character string encoding type.
+ -or-
+ is a restricted character string encoding type that is not currently supported by this method.
+
+ . is , but . is not correct for the method.
+
+
+ Write a single value which has already been encoded.
+ The value to write.
+
+ could not be read under the current encoding rules.
+ -or-
+ has data beyond the end of the first value.
+
+
+ Write a non-[] enum value as an Enumerated with tag UNIVERSAL 10.
+ The boxed enumeration value to write.
+ The tag to write, or for the default tag (Universal 10).
+
+ is .
+
+ . is , but . is not correct for the method.
+ -or-
+ is not a boxed enum value.
+ -or-
+ the unboxed type of is declared [].
+
+
+ Write a non-[] enum value as an Enumerated with tag UNIVERSAL 10.
+ The boxed enumeration value to write.
+ The tag to write, or for the default tag (Universal 10).
+ The non-[] enumeration type to write.
+
+ is .
+
+ . is , but . is not correct for the method.
+ -or-
+ is not an enum.
+ -or-
+ is declared [].
+
+
+ Write the provided as a GeneralizedTime with a specified UNIVERSAL 24, optionally excluding the fractional seconds.
+ The value to write.
+
+ to treat the fractional seconds in as 0 even if a non-zero value is present.
+ The tag to write, or for the default tag (Universal 24).
+
+ . is , but . is not correct for the method.
+
+
+ Write an Integer value with a specified tag.
+ The value to write.
+ The tag to write, or for the default tag (Universal 2).
+
+ . is , but . is not correct for the method.
+
+
+ Write an Integer value with a specified tag.
+ The value to write.
+ The tag to write, or for the default tag (Universal 2).
+
+ . is , but . is not correct for the method.
+
+
+ Write an Integer value with a specified tag.
+ The integer value to write, in signed big-endian byte order.
+ The tag to write, or for the default tag (Universal 2).
+
+ . is , but . is not correct for the method.
+ the 9 most significant bits are all set.
+ -or-
+ the 9 most significant bits are all unset.
+
+
+ Write an Integer value with a specified tag.
+ The value to write.
+ The tag to write, or for the default tag (Universal 2).
+
+ . is , but . is not correct for the method.
+
+
+ Write an Integer value with a specified tag.
+ The integer value to write, in unsigned big-endian byte order.
+ The tag to write, or for the default tag (Universal 2).
+
+ . is , but . is not correct for the method.
+ the 9 most significant bits are all unset.
+
+
+ Write a bit array value as a NamedBitList with a specified tag.
+ The bits to write.
+ The tag to write, or for the default tag (Universal 3).
+
+ . is , but . is not correct for the method.
+
+ is .
+
+
+ Write a [] enum value as a NamedBitList with a specified tag.
+ The boxed enumeration value to write.
+ The tag to write, or for the default tag (Universal 3).
+
+ . is , but . is not correct for the method.
+ -or-
+ is not a boxed enum value.
+ -or-
+ the unboxed type of is not declared [].
+
+ is .
+
+
+ Write a [] enum value as a NamedBitList with a specified tag.
+ The enumeration value to write.
+ The tag to write, or for the default tag (Universal 3).
+ The [] enumeration type to write.
+
+ . is , but . is not correct for the method.
+ -or-
+ is not an enum value.
+ -or-
+ is not declared [].
+
+
+ Write NULL with a specified tag.
+ The tag to write, or for the default tag (Universal 5).
+
+ . is , but . is not correct for the method.
+
+
+ Write an Object Identifier with a specified tag.
+ The object identifier to write.
+ The tag to write, or for the default tag (Universal 6).
+
+ . is , but . is not correct for the method.
+ -or-
+ is not a valid dotted decimal object identifier.
+
+
+ Write an Object Identifier with a specified tag.
+ The object identifier to write.
+ The tag to write, or for the default tag (Universal 6).
+
+ . is , but . is not correct for the method.
+ -or-
+ is not a valid dotted decimal object identifier.
+
+ is .
+
+
+ Write an Octet String value with a specified tag.
+ The value to write.
+ The tag to write, or for the default tag (Universal 4).
+
+ . is , but . is not correct for the method.
+
+
+ Write the provided value as a UTCTime with a specified tag, provided the year is in the allowed range.
+ The value to write.
+ The maximum valid year for , after conversion to UTC.
+ For the X.509 Time.utcTime range of 1950-2049, pass 2049.
+ The tag to write, or for the default tag (Universal 23).
+
+ . is , but . is not correct for the method.
+
+ . (after conversion to UTC) is not in the range ( - 100, ].
+
+
+ Write the provided value as a UTCTime with a specified tag, accepting the two-digit year as valid in context.
+ The value to write.
+ The tag to write, or for the default tag (Universal 23).
+
+ . is , but . is not correct for the method.
+
+
+ Gets the encoding rules in use by this writer.
+ The encoding rules in use by this writer.
+
+
+ Provides an target for safely closing an opened tag by using a lexical scope as a logical scope.
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+ The tag class for a particular ASN.1 tag.
+
+
+ The Application tag class.
+
+
+ The Context-Specific tag class.
+
+
+ The Private tag class.
+
+
+ The Universal tag class.
+
+
+ Tag assignments for the UNIVERSAL class in ITU-T X.680.
+
+
+ The universal class tag value for Bit String.
+
+
+ The universal class tag value for BMPString.
+
+
+ The universal class tag value for Boolean.
+
+
+ The universal class tag value for Date.
+
+
+ The universal class tag value for Date-Time.
+
+
+ The universal class tag value for Duration.
+
+
+ The universal class tag value for Embedded-PDV.
+
+
+ The reserved identifier for the End-of-Contents marker in an indefinite length encoding.
+
+
+ The universal class tag value for Enumerated.
+
+
+ The universal class tag value for External.
+
+
+ The universal class tag value for GeneralizedTime.
+
+
+ The universal class tag value for GeneralString.
+
+
+ The universal class tag value for GraphicString.
+
+
+ The universal class tag value for IA5String.
+
+
+ The universal class tag value for Instance-Of.
+
+
+ The universal class tag value for Integer.
+
+
+ The universal class tag value for ISO646String (VisibleString).
+
+
+ The universal class tag value for Null.
+
+
+ The universal class tag value for NumericString.
+
+
+ The universal class tag value for Object Descriptor.
+
+
+ The universal class tag value for Object Identifier.
+
+
+ The universal class tag value for Object Identifier Internationalized Resource Identifier (IRI).
+
+
+ The universal class tag value for Octet String.
+
+
+ The universal class tag value for PrintableString.
+
+
+ The universal class tag value for Real.
+
+
+ The universal class tag value for Relative Object Identifier.
+
+
+ The universal class tag value for Relative Object Identifier Internationalized Resource Identifier (IRI).
+
+
+ The universal class tag value for Sequence.
+
+
+ The universal class tag value for Sequence-Of.
+
+
+ The universal class tag value for Set.
+
+
+ The universal class tag value for Set-Of.
+
+
+ The universal class tag value for T61String (TeletexString).
+
+
+ The universal class tag value for TeletexString (T61String).
+
+
+ The universal class tag value for Time.
+
+
+ The universal class tag value for Time-Of-Day.
+
+
+ The universal class tag value for UniversalString.
+
+
+ The universal class tag value for an unrestricted character string.
+
+
+ The universal class tag value for UTCTime.
+
+
+ The universal class tag value for UTF8String.
+
+
+ The universal class tag value for VideotexString.
+
+
+ The universal class tag value for VisibleString (ISO646String).
+
+
+
\ No newline at end of file
diff --git a/LeatherProject/LeatherApp/bin/Debug/System.Text.Encodings.Web.xml b/LeatherProject/LeatherApp/bin/Debug/System.Text.Encodings.Web.xml
new file mode 100644
index 0000000..4daf866
--- /dev/null
+++ b/LeatherProject/LeatherApp/bin/Debug/System.Text.Encodings.Web.xml
@@ -0,0 +1,939 @@
+
+
+
+ System.Text.Encodings.Web
+
+
+
+ Represents an HTML character encoding.
+
+
+ Initializes a new instance of the class.
+
+
+ Creates a new instance of the HtmlEncoder class with the specified settings.
+ Settings that control how the instance encodes, primarily which characters to encode.
+
+ is .
+ A new instance of the class.
+
+
+ Creates a new instance of the HtmlEncoder class that specifies characters the encoder is allowed to not encode.
+ The set of characters that the encoder is allowed to not encode.
+
+ is .
+ A new instance of the class.
+
+
+ Gets a built-in instance of the class.
+ A built-in instance of the class.
+
+
+ Represents a JavaScript character encoding.
+
+
+ Initializes a new instance of the class.
+
+
+ Creates a new instance of JavaScriptEncoder class with the specified settings.
+ Settings that control how the instance encodes, primarily which characters to encode.
+
+ is .
+ A new instance of the class.
+
+
+ Creates a new instance of the JavaScriptEncoder class that specifies characters the encoder is allowed to not encode.
+ The set of characters that the encoder is allowed to not encode.
+
+ is .
+ A new instance of the class.
+
+
+ Gets a built-in instance of the class.
+ A built-in instance of the class.
+
+
+ Gets a built-in JavaScript encoder instance that is less strict about what is encoded.
+ A JavaScript encoder instance.
+
+
+ The base class of web encoders.
+
+
+ Initializes a new instance of the class.
+
+
+ Encodes characters from an array and writes them to a object.
+ The stream to which to write the encoded text.
+ The array of characters to encode.
+ The array index of the first character to encode.
+ The number of characters in the array to encode.
+
+ is .
+ The method failed. The encoder does not implement correctly.
+
+ is .
+
+ is out of range.
+
+ is out of range.
+
+
+ Encodes the specified string to a object.
+ The stream to which to write the encoded text.
+ The string to encode.
+
+
+ Encodes a substring and writes it to a object.
+ The stream to which to write the encoded text.
+ The string whose substring is to be encoded.
+ The index where the substring starts.
+ The number of characters in the substring.
+
+ is .
+ The method failed. The encoder does not implement correctly.
+
+ is .
+
+ is out of range.
+
+ is out of range.
+
+
+ Encodes the supplied characters.
+ A source buffer containing the characters to encode.
+ The destination buffer to which the encoded form of will be written.
+ The number of characters consumed from the buffer.
+ The number of characters written to the buffer.
+
+ to indicate there is no further source data that needs to be encoded; otherwise, .
+ An enumeration value that describes the result of the encoding operation.
+
+
+ Encodes the supplied string and returns the encoded text as a new string.
+ The string to encode.
+
+ is .
+ The method failed. The encoder does not implement correctly.
+ The encoded string.
+
+
+ Encodes the supplied UTF-8 text.
+ A source buffer containing the UTF-8 text to encode.
+ The destination buffer to which the encoded form of will be written.
+ The number of bytes consumed from the buffer.
+ The number of bytes written to the buffer.
+
+ to indicate there is no further source data that needs to be encoded; otherwise, .
+ A status code that describes the result of the encoding operation.
+
+
+ Finds the index of the first character to encode.
+ The text buffer to search.
+ The number of characters in .
+ The index of the first character to encode.
+
+
+ Finds the first element in a UTF-8 text input buffer that would be escaped by the current encoder instance.
+ The UTF-8 text input buffer to search.
+ The index of the first element in that would be escaped by the current encoder instance, or -1 if no data in requires escaping.
+
+
+ Encodes a Unicode scalar value and writes it to a buffer.
+ A Unicode scalar value.
+ A pointer to the buffer to which to write the encoded text.
+ The length of the destination in characters.
+ When the method returns, indicates the number of characters written to the .
+
+ if is too small to fit the encoded text; otherwise, returns .
+
+
+ Determines if a given Unicode scalar value will be encoded.
+ A Unicode scalar value.
+
+ if the value will be encoded by this encoder; otherwise, returns .
+
+
+ Gets the maximum number of characters that this encoder can generate for each input code point.
+ The maximum number of characters.
+
+
+ Represents a filter that allows only certain Unicode code points.
+
+
+ Instantiates an empty filter (allows no code points through by default).
+
+
+ Instantiates a filter by cloning the allowed list of another object.
+ The other object to be cloned.
+
+
+ Instantiates a filter where only the character ranges specified by are allowed by the filter.
+ The allowed character ranges.
+
+ is .
+
+
+ Allows the character specified by through the filter.
+ The allowed character.
+
+
+ Allows all characters specified by through the filter.
+ The allowed characters.
+
+ is .
+
+
+ Allows all code points specified by .
+ The allowed code points.
+
+ is .
+
+
+ Allows all characters specified by through the filter.
+ The range of characters to be allowed.
+
+ is .
+
+
+ Allows all characters specified by through the filter.
+ The ranges of characters to be allowed.
+
+ is .
+
+
+ Resets this object by disallowing all characters.
+
+
+ Disallows the character through the filter.
+ The disallowed character.
+
+
+ Disallows all characters specified by through the filter.
+ The disallowed characters.
+
+ is .
+
+
+ Disallows all characters specified by through the filter.
+ The range of characters to be disallowed.
+
+ is .
+
+
+ Disallows all characters specified by through the filter.
+ The ranges of characters to be disallowed.
+
+ is .
+
+
+ Gets an enumerator of all allowed code points.
+ The enumerator of allowed code points.
+
+
+ Represents a URL character encoding.
+
+
+ Initializes a new instance of the class.
+
+
+ Creates a new instance of UrlEncoder class with the specified settings.
+ Settings that control how the instance encodes, primarily which characters to encode.
+
+ is .
+ A new instance of the class.
+
+
+ Creates a new instance of the UrlEncoder class that specifies characters the encoder is allowed to not encode.
+ The set of characters that the encoder is allowed to not encode.
+
+ is .
+ A new instance of the class.
+
+
+ Gets a built-in instance of the class.
+ A built-in instance of the class.
+
+
+ Represents a contiguous range of Unicode code points.
+
+
+ Creates a new that includes a specified number of characters starting at a specified Unicode code point.
+ The first code point in the range.
+ The number of code points in the range.
+
+ is less than zero or greater than 0xFFFF.
+
+-or-
+
+ is less than zero.
+
+-or-
+
+ plus is greater than 0xFFFF.
+
+
+ Creates a new instance from a span of characters.
+ The first character in the range.
+ The last character in the range.
+
+ precedes .
+ A range that includes all characters between and .
+
+
+ Gets the first code point in the range represented by this instance.
+ The first code point in the range.
+
+
+ Gets the number of code points in the range represented by this instance.
+ The number of code points in the range.
+
+
+ Provides static properties that return predefined instances that correspond to blocks from the Unicode specification.
+
+
+ Gets a range that consists of the entire Basic Multilingual Plane (BMP), from U+0000 to U+FFFF).
+ A range that consists of the entire BMP.
+
+
+ Gets the Alphabetic Presentation Forms Unicode block (U+FB00-U+FB4F).
+ The Alphabetic Presentation Forms Unicode block (U+FB00-U+FB4F).
+
+
+ Gets the Arabic Unicode block (U+0600-U+06FF).
+ The Arabic Unicode block (U+0600-U+06FF).
+
+
+ Gets the Arabic Extended-A Unicode block (U+08A0-U+08FF).
+ The Arabic Extended-A Unicode block (U+08A0-U+08FF).
+
+
+ A corresponding to the 'Arabic Extended-B' Unicode block (U+0870..U+089F).
+
+
+ Gets the Arabic Presentation Forms-A Unicode block (U+FB50-U+FDFF).
+ The Arabic Presentation Forms-A Unicode block (U+FB50-U+FDFF).
+
+
+ Gets the Arabic Presentation Forms-B Unicode block (U+FE70-U+FEFF).
+ The Arabic Presentation Forms-B Unicode block (U+FE70-U+FEFF).
+
+
+ Gets the Arabic Supplement Unicode block (U+0750-U+077F).
+ The Arabic Supplement Unicode block (U+0750-U+077F).
+
+
+ Gets the Armenian Unicode block (U+0530-U+058F).
+ The Armenian Unicode block (U+0530-U+058F).
+
+
+ Gets the Arrows Unicode block (U+2190-U+21FF).
+ The Arrows Unicode block (U+2190-U+21FF).
+
+
+ Gets the Balinese Unicode block (U+1B00-U+1B7F).
+ The Balinese Unicode block (U+1B00-U+1B7F).
+
+
+ Gets the Bamum Unicode block (U+A6A0-U+A6FF).
+ The Bamum Unicode block (U+A6A0-U+A6FF).
+
+
+ Gets the Basic Latin Unicode block (U+0021-U+007F).
+ The Basic Latin Unicode block (U+0021-U+007F).
+
+
+ Gets the Batak Unicode block (U+1BC0-U+1BFF).
+ The Batak Unicode block (U+1BC0-U+1BFF).
+
+
+ Gets the Bengali Unicode block (U+0980-U+09FF).
+ The Bengali Unicode block (U+0980-U+09FF).
+
+
+ Gets the Block Elements Unicode block (U+2580-U+259F).
+ The Block Elements Unicode block (U+2580-U+259F).
+
+
+ Gets the Bopomofo Unicode block (U+3100-U+312F).
+ The Bopomofo Unicode block (U+3105-U+312F).
+
+
+ Gets the Bopomofo Extended Unicode block (U+31A0-U+31BF).
+ The Bopomofo Extended Unicode block (U+31A0-U+31BF).
+
+
+ Gets the Box Drawing Unicode block (U+2500-U+257F).
+ The Box Drawing Unicode block (U+2500-U+257F).
+
+
+ Gets the Braille Patterns Unicode block (U+2800-U+28FF).
+ The Braille Patterns Unicode block (U+2800-U+28FF).
+
+
+ Gets the Buginese Unicode block (U+1A00-U+1A1F).
+ The Buginese Unicode block (U+1A00-U+1A1F).
+
+
+ Gets the Buhid Unicode block (U+1740-U+175F).
+ The Buhid Unicode block (U+1740-U+175F).
+
+
+ Gets the Cham Unicode block (U+AA00-U+AA5F).
+ The Cham Unicode block (U+AA00-U+AA5F).
+
+
+ Gets the Cherokee Unicode block (U+13A0-U+13FF).
+ The Cherokee Unicode block (U+13A0-U+13FF).
+
+
+ Gets the Cherokee Supplement Unicode block (U+AB70-U+ABBF).
+ The Cherokee Supplement Unicode block (U+AB70-U+ABBF).
+
+
+ Gets the CJK Compatibility Unicode block (U+3300-U+33FF).
+ The CJK Compatibility Unicode block (U+3300-U+33FF).
+
+
+ Gets the CJK Compatibility Forms Unicode block (U+FE30-U+FE4F).
+ The CJK Compatibility Forms Unicode block (U+FE30-U+FE4F).
+
+
+ Gets the CJK Compatibility Ideographs Unicode block (U+F900-U+FAD9).
+ The CJK Compatibility Ideographs Unicode block (U+F900-U+FAD9).
+
+
+ Gets the CJK Radicals Supplement Unicode block (U+2E80-U+2EFF).
+ The CJK Radicals Supplement Unicode block (U+2E80-U+2EFF).
+
+
+ Gets the CJK Strokes Unicode block (U+31C0-U+31EF).
+ The CJK Strokes Unicode block (U+31C0-U+31EF).
+
+
+ Gets the CJK Symbols and Punctuation Unicode block (U+3000-U+303F).
+ The CJK Symbols and Punctuation Unicode block (U+3000-U+303F).
+
+
+ Gets the CJK Unified Ideographs Unicode block (U+4E00-U+9FCC).
+ The CJK Unified Ideographs Unicode block (U+4E00-U+9FCC).
+
+
+ Gets the CJK Unitied Ideographs Extension A Unicode block (U+3400-U+4DB5).
+ The CJK Unitied Ideographs Extension A Unicode block (U+3400-U+4DB5).
+
+
+ Gets the Combining Diacritical Marks Unicode block (U+0300-U+036F).
+ The Combining Diacritical Marks Unicode block (U+0300-U+036F).
+
+
+ Gets the Combining Diacritical Marks Extended Unicode block (U+1AB0-U+1AFF).
+ The Combining Diacritical Marks Extended Unicode block (U+1AB0-U+1AFF).
+
+
+ Gets the Combining Diacritical Marks for Symbols Unicode block (U+20D0-U+20FF).
+ The Combining Diacritical Marks for Symbols Unicode block (U+20D0-U+20FF).
+
+
+ Gets the Combining Diacritical Marks Supplement Unicode block (U+1DC0-U+1DFF).
+ The Combining Diacritical Marks Supplement Unicode block (U+1DC0-U+1DFF).
+
+
+ Gets the Combining Half Marks Unicode block (U+FE20-U+FE2F).
+ The Combining Half Marks Unicode block (U+FE20-U+FE2F).
+
+
+ Gets the Common Indic Number Forms Unicode block (U+A830-U+A83F).
+ The Common Indic Number Forms Unicode block (U+A830-U+A83F).
+
+
+ Gets the Control Pictures Unicode block (U+2400-U+243F).
+ The Control Pictures Unicode block (U+2400-U+243F).
+
+
+ Gets the Coptic Unicode block (U+2C80-U+2CFF).
+ The Coptic Unicode block (U+2C80-U+2CFF).
+
+
+ Gets the Currency Symbols Unicode block (U+20A0-U+20CF).
+ The Currency Symbols Unicode block (U+20A0-U+20CF).
+
+
+ Gets the Cyrillic Unicode block (U+0400-U+04FF).
+ The Cyrillic Unicode block (U+0400-U+04FF).
+
+
+ Gets the Cyrillic Extended-A Unicode block (U+2DE0-U+2DFF).
+ The Cyrillic Extended-A Unicode block (U+2DE0-U+2DFF).
+
+
+ Gets the Cyrillic Extended-B Unicode block (U+A640-U+A69F).
+ The Cyrillic Extended-B Unicode block (U+A640-U+A69F).
+
+
+ A corresponding to the 'Cyrillic Extended-C' Unicode block (U+1C80..U+1C8F).
+
+
+ Gets the Cyrillic Supplement Unicode block (U+0500-U+052F).
+ The Cyrillic Supplement Unicode block (U+0500-U+052F).
+
+
+ Gets the Devangari Unicode block (U+0900-U+097F).
+ The Devangari Unicode block (U+0900-U+097F).
+
+
+ Gets the Devanagari Extended Unicode block (U+A8E0-U+A8FF).
+ The Devanagari Extended Unicode block (U+A8E0-U+A8FF).
+
+
+ Gets the Dingbats Unicode block (U+2700-U+27BF).
+ The Dingbats Unicode block (U+2700-U+27BF).
+
+
+ Gets the Enclosed Alphanumerics Unicode block (U+2460-U+24FF).
+ The Enclosed Alphanumerics Unicode block (U+2460-U+24FF).
+
+
+ Gets the Enclosed CJK Letters and Months Unicode block (U+3200-U+32FF).
+ The Enclosed CJK Letters and Months Unicode block (U+3200-U+32FF).
+
+
+ Gets the Ethiopic Unicode block (U+1200-U+137C).
+ The Ethiopic Unicode block (U+1200-U+137C).
+
+
+ Gets the Ethipic Extended Unicode block (U+2D80-U+2DDF).
+ The Ethipic Extended Unicode block (U+2D80-U+2DDF).
+
+
+ Gets the Ethiopic Extended-A Unicode block (U+AB00-U+AB2F).
+ The Ethiopic Extended-A Unicode block (U+AB00-U+AB2F).
+
+
+ Gets the Ethiopic Supplement Unicode block (U+1380-U+1399).
+ The Ethiopic Supplement Unicode block (U+1380-U+1399).
+
+
+ Gets the General Punctuation Unicode block (U+2000-U+206F).
+ The General Punctuation Unicode block (U+2000-U+206F).
+
+
+ Gets the Geometric Shapes Unicode block (U+25A0-U+25FF).
+ The Geometric Shapes Unicode block (U+25A0-U+25FF).
+
+
+ Gets the Georgian Unicode block (U+10A0-U+10FF).
+ The Georgian Unicode block (U+10A0-U+10FF).
+
+
+ A corresponding to the 'Georgian Extended' Unicode block (U+1C90..U+1CBF).
+
+
+ Gets the Georgian Supplement Unicode block (U+2D00-U+2D2F).
+ The Georgian Supplement Unicode block (U+2D00-U+2D2F).
+
+
+ Gets the Glagolitic Unicode block (U+2C00-U+2C5F).
+ The Glagolitic Unicode block (U+2C00-U+2C5F).
+
+
+ Gets the Greek and Coptic Unicode block (U+0370-U+03FF).
+ The Greek and Coptic Unicode block (U+0370-U+03FF).
+
+
+ Gets the Greek Extended Unicode block (U+1F00-U+1FFF).
+ The Greek Extended Unicode block (U+1F00-U+1FFF).
+
+
+ Gets the Gujarti Unicode block (U+0A81-U+0AFF).
+ The Gujarti Unicode block (U+0A81-U+0AFF).
+
+
+ Gets the Gurmukhi Unicode block (U+0A01-U+0A7F).
+ The Gurmukhi Unicode block (U+0A01-U+0A7F).
+
+
+ Gets the Halfwidth and Fullwidth Forms Unicode block (U+FF00-U+FFEE).
+ The Halfwidth and Fullwidth Forms Unicode block (U+FF00-U+FFEE).
+
+
+ Gets the Hangul Compatibility Jamo Unicode block (U+3131-U+318F).
+ The Hangul Compatibility Jamo Unicode block (U+3131-U+318F).
+
+
+ Gets the Hangul Jamo Unicode block (U+1100-U+11FF).
+ The Hangul Jamo Unicode block (U+1100-U+11FF).
+
+
+ Gets the Hangul Jamo Extended-A Unicode block (U+A960-U+A9F).
+ The Hangul Jamo Extended-A Unicode block (U+A960-U+A97F).
+
+
+ Gets the Hangul Jamo Extended-B Unicode block (U+D7B0-U+D7FF).
+ The Hangul Jamo Extended-B Unicode block (U+D7B0-U+D7FF).
+
+
+ Gets the Hangul Syllables Unicode block (U+AC00-U+D7AF).
+ The Hangul Syllables Unicode block (U+AC00-U+D7AF).
+
+
+ Gets the Hanunoo Unicode block (U+1720-U+173F).
+ The Hanunoo Unicode block (U+1720-U+173F).
+
+
+ Gets the Hebrew Unicode block (U+0590-U+05FF).
+ The Hebrew Unicode block (U+0590-U+05FF).
+
+
+ Gets the Hiragana Unicode block (U+3040-U+309F).
+ The Hiragana Unicode block (U+3040-U+309F).
+
+
+ Gets the Ideographic Description Characters Unicode block (U+2FF0-U+2FFF).
+ The Ideographic Description Characters Unicode block (U+2FF0-U+2FFF).
+
+
+ Gets the IPA Extensions Unicode block (U+0250-U+02AF).
+ The IPA Extensions Unicode block (U+0250-U+02AF).
+
+
+ Gets the Javanese Unicode block (U+A980-U+A9DF).
+ The Javanese Unicode block (U+A980-U+A9DF).
+
+
+ Gets the Kanbun Unicode block (U+3190-U+319F).
+ The Kanbun Unicode block (U+3190-U+319F).
+
+
+ Gets the Kangxi Radicals Supplement Unicode block (U+2F00-U+2FDF).
+ The Kangxi Radicals Supplement Unicode block (U+2F00-U+2FDF).
+
+
+ Gets the Kannada Unicode block (U+0C81-U+0CFF).
+ The Kannada Unicode block (U+0C81-U+0CFF).
+
+
+ Gets the Katakana Unicode block (U+30A0-U+30FF).
+ The Katakana Unicode block (U+30A0-U+30FF).
+
+
+ Gets the Katakana Phonetic Extensions Unicode block (U+31F0-U+31FF).
+ The Katakana Phonetic Extensions Unicode block (U+31F0-U+31FF).
+
+
+ Gets the Kayah Li Unicode block (U+A900-U+A92F).
+ The Kayah Li Unicode block (U+A900-U+A92F).
+
+
+ Gets the Khmer Unicode block (U+1780-U+17FF).
+ The Khmer Unicode block (U+1780-U+17FF).
+
+
+ Gets the Khmer Symbols Unicode block (U+19E0-U+19FF).
+ The Khmer Symbols Unicode block (U+19E0-U+19FF).
+
+
+ Gets the Lao Unicode block (U+0E80-U+0EDF).
+ The Lao Unicode block (U+0E80-U+0EDF).
+
+
+ Gets the Latin-1 Supplement Unicode block (U+00A1-U+00FF).
+ The Latin-1 Supplement Unicode block (U+00A1-U+00FF).
+
+
+ Gets the Latin Extended-A Unicode block (U+0100-U+017F).
+ The Latin Extended-A Unicode block (U+0100-U+017F).
+
+
+ Gets the Latin Extended Additional Unicode block (U+1E00-U+1EFF).
+ The Latin Extended Additional Unicode block (U+1E00-U+1EFF).
+
+
+ Gets the Latin Extended-B Unicode block (U+0180-U+024F).
+ The Latin Extended-B Unicode block (U+0180-U+024F).
+
+
+ Gets the Latin Extended-C Unicode block (U+2C60-U+2C7F).
+ The Latin Extended-C Unicode block (U+2C60-U+2C7F).
+
+
+ Gets the Latin Extended-D Unicode block (U+A720-U+A7FF).
+ The Latin Extended-D Unicode block (U+A720-U+A7FF).
+
+
+ Gets the Latin Extended-E Unicode block (U+AB30-U+AB6F).
+ The Latin Extended-E Unicode block (U+AB30-U+AB6F).
+
+
+ Gets the Lepcha Unicode block (U+1C00-U+1C4F).
+ The Lepcha Unicode block (U+1C00-U+1C4F).
+
+
+ Gets the Letterlike Symbols Unicode block (U+2100-U+214F).
+ The Letterlike Symbols Unicode block (U+2100-U+214F).
+
+
+ Gets the Limbu Unicode block (U+1900-U+194F).
+ The Limbu Unicode block (U+1900-U+194F).
+
+
+ Gets the Lisu Unicode block (U+A4D0-U+A4FF).
+ The Lisu Unicode block (U+A4D0-U+A4FF).
+
+
+ Gets the Malayalam Unicode block (U+0D00-U+0D7F).
+ The Malayalam Unicode block (U+0D00-U+0D7F).
+
+
+ Gets the Mandaic Unicode block (U+0840-U+085F).
+ The Mandaic Unicode block (U+0840-U+085F).
+
+
+ Gets the Mathematical Operators Unicode block (U+2200-U+22FF).
+ The Mathematical Operators Unicode block (U+2200-U+22FF).
+
+
+ Gets the Meetei Mayek Unicode block (U+ABC0-U+ABFF).
+ The Meetei Mayek Unicode block (U+ABC0-U+ABFF).
+
+
+ Gets the Meetei Mayek Extensions Unicode block (U+AAE0-U+AAFF).
+ The Meetei Mayek Extensions Unicode block (U+AAE0-U+AAFF).
+
+
+ Gets the Miscellaneous Mathematical Symbols-A Unicode block (U+27C0-U+27EF).
+ The Miscellaneous Mathematical Symbols-A Unicode block (U+27C0-U+27EF).
+
+
+ Gets the Miscellaneous Mathematical Symbols-B Unicode block (U+2980-U+29FF).
+ The Miscellaneous Mathematical Symbols-B Unicode block (U+2980-U+29FF).
+
+
+ Gets the Miscellaneous Symbols Unicode block (U+2600-U+26FF).
+ The Miscellaneous Symbols Unicode block (U+2600-U+26FF).
+
+
+ Gets the Miscellaneous Symbols and Arrows Unicode block (U+2B00-U+2BFF).
+ The Miscellaneous Symbols and Arrows Unicode block (U+2B00-U+2BFF).
+
+
+ Gets the Miscellaneous Technical Unicode block (U+2300-U+23FF).
+ The Miscellaneous Technical Unicode block (U+2300-U+23FF).
+
+
+ Gets the Modifier Tone Letters Unicode block (U+A700-U+A71F).
+ The Modifier Tone Letters Unicode block (U+A700-U+A71F).
+
+
+ Gets the Mongolian Unicode block (U+1800-U+18AF).
+ The Mongolian Unicode block (U+1800-U+18AF).
+
+
+ Gets the Myanmar Unicode block (U+1000-U+109F).
+ The Myanmar Unicode block (U+1000-U+109F).
+
+
+ Gets the Myanmar Extended-A Unicode block (U+AA60-U+AA7F).
+ The Myanmar Extended-A Unicode block (U+AA60-U+AA7F).
+
+
+ Gets the Myanmar Extended-B Unicode block (U+A9E0-U+A9FF).
+ The Myanmar Extended-B Unicode block (U+A9E0-U+A9FF).
+
+
+ Gets the New Tai Lue Unicode block (U+1980-U+19DF).
+ The New Tai Lue Unicode block (U+1980-U+19DF).
+
+
+ Gets the NKo Unicode block (U+07C0-U+07FF).
+ The NKo Unicode block (U+07C0-U+07FF).
+
+
+ Gets an empty Unicode range.
+ A Unicode range with no elements.
+
+
+ Gets the Number Forms Unicode block (U+2150-U+218F).
+ The Number Forms Unicode block (U+2150-U+218F).
+
+
+ Gets the Ogham Unicode block (U+1680-U+169F).
+ The Ogham Unicode block (U+1680-U+169F).
+
+
+ Gets the Ol Chiki Unicode block (U+1C50-U+1C7F).
+ The Ol Chiki Unicode block (U+1C50-U+1C7F).
+
+
+ Gets the Optical Character Recognition Unicode block (U+2440-U+245F).
+ The Optical Character Recognition Unicode block (U+2440-U+245F).
+
+
+ Gets the Oriya Unicode block (U+0B00-U+0B7F).
+ The Oriya Unicode block (U+0B00-U+0B7F).
+
+
+ Gets the Phags-pa Unicode block (U+A840-U+A87F).
+ The Phags-pa Unicode block (U+A840-U+A87F).
+
+
+ Gets the Phonetic Extensions Unicode block (U+1D00-U+1D7F).
+ The Phonetic Extensions Unicode block (U+1D00-U+1D7F).
+
+
+ Gets the Phonetic Extensions Supplement Unicode block (U+1D80-U+1DBF).
+ The Phonetic Extensions Supplement Unicode block (U+1D80-U+1DBF).
+
+
+ Gets the Rejang Unicode block (U+A930-U+A95F).
+ The Rejang Unicode block (U+A930-U+A95F).
+
+
+ Gets the Runic Unicode block (U+16A0-U+16FF).
+ The Runic Unicode block (U+16A0-U+16FF).
+
+
+ Gets the Samaritan Unicode block (U+0800-U+083F).
+ The Samaritan Unicode block (U+0800-U+083F).
+
+
+ Gets the Saurashtra Unicode block (U+A880-U+A8DF).
+ The Saurashtra Unicode block (U+A880-U+A8DF).
+
+
+ Gets the Sinhala Unicode block (U+0D80-U+0DFF).
+ The Sinhala Unicode block (U+0D80-U+0DFF).
+
+
+ Gets the Small Form Variants Unicode block (U+FE50-U+FE6F).
+ The Small Form Variants Unicode block (U+FE50-U+FE6F).
+
+
+ Gets the Spacing Modifier Letters Unicode block (U+02B0-U+02FF).
+ The Spacing Modifier Letters Unicode block (U+02B0-U+02FF).
+
+
+ Gets the Specials Unicode block (U+FFF0-U+FFFF).
+ The Specials Unicode block (U+FFF0-U+FFFF).
+
+
+ Gets the Sundanese Unicode block (U+1B80-U+1BBF).
+ The Sundanese Unicode block (U+1B80-U+1BBF).
+
+
+ Gets the Sundanese Supplement Unicode block (U+1CC0-U+1CCF).
+ The Sundanese Supplement Unicode block (U+1CC0-U+1CCF).
+
+
+ Gets the Superscripts and Subscripts Unicode block (U+2070-U+209F).
+ The Superscripts and Subscripts Unicode block (U+2070-U+209F).
+
+
+ Gets the Supplemental Arrows-A Unicode block (U+27F0-U+27FF).
+ The Supplemental Arrows-A Unicode block (U+27F0-U+27FF).
+
+
+ Gets the Supplemental Arrows-B Unicode block (U+2900-U+297F).
+ The Supplemental Arrows-B Unicode block (U+2900-U+297F).
+
+
+ Gets the Supplemental Mathematical Operators Unicode block (U+2A00-U+2AFF).
+ The Supplemental Mathematical Operators Unicode block (U+2A00-U+2AFF).
+
+
+ Gets the Supplemental Punctuation Unicode block (U+2E00-U+2E7F).
+ The Supplemental Punctuation Unicode block (U+2E00-U+2E7F).
+
+
+ Gets the Syloti Nagri Unicode block (U+A800-U+A82F).
+ The Syloti Nagri Unicode block (U+A800-U+A82F).
+
+
+ Gets the Syriac Unicode block (U+0700-U+074F).
+ The Syriac Unicode block (U+0700-U+074F).
+
+
+ A corresponding to the 'Syriac Supplement' Unicode block (U+0860..U+086F).
+
+
+ Gets the Tagalog Unicode block (U+1700-U+171F).
+ The Tagalog Unicode block (U+1700-U+171F).
+
+
+ Gets the Tagbanwa Unicode block (U+1760-U+177F).
+ The Tagbanwa Unicode block (U+1760-U+177F).
+
+
+ Gets the Tai Le Unicode block (U+1950-U+197F).
+ The Tai Le Unicode block (U+1950-U+197F).
+
+
+ Gets the Tai Tham Unicode block (U+1A20-U+1AAF).
+ The Tai Tham Unicode block (U+1A20-U+1AAF).
+
+
+ Gets the Tai Viet Unicode block (U+AA80-U+AADF).
+ The Tai Viet Unicode block (U+AA80-U+AADF).
+
+
+ Gets the Tamil Unicode block (U+0B80-U+0BFF).
+ The Tamil Unicode block (U+0B82-U+0BFA).
+
+
+ Gets the Telugu Unicode block (U+0C00-U+0C7F).
+ The Telugu Unicode block (U+0C00-U+0C7F).
+
+
+ Gets the Thaana Unicode block (U+0780-U+07BF).
+ The Thaana Unicode block (U+0780-U+07BF).
+
+
+ Gets the Thai Unicode block (U+0E00-U+0E7F).
+ The Thai Unicode block (U+0E00-U+0E7F).
+
+
+ Gets the Tibetan Unicode block (U+0F00-U+0FFF).
+ The Tibetan Unicode block (U+0F00-U+0FFF).
+
+
+ Gets the Tifinagh Unicode block (U+2D30-U+2D7F).
+ The Tifinagh Unicode block (U+2D30-U+2D7F).
+
+
+ Gets the Unified Canadian Aboriginal Syllabics Unicode block (U+1400-U+167F).
+ The Unified Canadian Aboriginal Syllabics Unicode block (U+1400-U+167F).
+
+
+ Gets the Unified Canadian Aboriginal Syllabics Extended Unicode block (U+18B0-U+18FF).
+ The Unified Canadian Aboriginal Syllabics Extended Unicode block (U+18B0-U+18FF).
+
+
+ Gets the Vai Unicode block (U+A500-U+A63F).
+ The Vai Unicode block (U+A500-U+A63F).
+
+
+ Gets the Variation Selectors Unicode block (U+FE00-U+FE0F).
+ The Variation Selectors Unicode block (U+FE00-U+FE0F).
+
+
+ Gets the Vedic Extensions Unicode block (U+1CD0-U+1CFF).
+ The Vedic Extensions Unicode block (U+1CD0-U+1CFF).
+
+
+ Gets the Vertical Forms Unicode block (U+FE10-U+FE1F).
+ The Vertical Forms Unicode block (U+FE10-U+FE1F).
+
+
+ Gets the Yijing Hexagram Symbols Unicode block (U+4DC0-U+4DFF).
+ The Yijing Hexagram Symbols Unicode block (U+4DC0-U+4DFF).
+
+
+ Gets the Yi Radicals Unicode block (U+A490-U+A4CF).
+ The Yi Radicals Unicode block (U+A490-U+A4CF).
+
+
+ Gets the Yi Syllables Unicode block (U+A000-U+A48F).
+ The Yi Syllables Unicode block (U+A000-U+A48F).
+
+
+
\ No newline at end of file
diff --git a/LeatherProject/LeatherApp/bin/Debug/System.Text.Json.xml b/LeatherProject/LeatherApp/bin/Debug/System.Text.Json.xml
new file mode 100644
index 0000000..b237afc
--- /dev/null
+++ b/LeatherProject/LeatherApp/bin/Debug/System.Text.Json.xml
@@ -0,0 +1,5785 @@
+
+
+
+ System.Text.Json
+
+
+
+ Defines how the struct handles comments.
+
+
+ Allows comments within the JSON input and treats them as valid tokens. While reading, the caller can access the comment values.
+
+
+ Doesn't allow comments within the JSON input. Comments are treated as invalid JSON if found, and a is thrown. This is the default value.
+
+
+ Allows comments within the JSON input and ignores them. The behaves as if no comments are present.
+
+
+ Provides a mechanism for examining the structural content of a JSON value without automatically instantiating data values.
+
+
+ Releases the resources used by this instance.
+
+
+ Parses a sequence as UTF-8-encoded text representing a single JSON value into a JsonDocument.
+ The JSON text to parse.
+ Options to control the reader behavior during parsing.
+
+ does not represent a valid single JSON value.
+
+ contains unsupported options.
+ A JsonDocument representation of the JSON value.
+
+
+ Parses a as UTF-8-encoded data representing a single JSON value into a JsonDocument. The stream is read to completion.
+ The JSON data to parse.
+ Options to control the reader behavior during parsing.
+
+ does not represent a valid single JSON value.
+
+ contains unsupported options.
+ A JsonDocument representation of the JSON value.
+
+
+ Parses memory as UTF-8-encoded text representing a single JSON value into a JsonDocument.
+ The JSON text to parse.
+ Options to control the reader behavior during parsing.
+
+ does not represent a valid single JSON value.
+
+ contains unsupported options.
+ A JsonDocument representation of the JSON value.
+
+
+ Parses text representing a single JSON value into a JsonDocument.
+ The JSON text to parse.
+ Options to control the reader behavior during parsing.
+
+ does not represent a valid single JSON value.
+
+ contains unsupported options.
+ A JsonDocument representation of the JSON value.
+
+
+ Parses text representing a single JSON string value into a JsonDocument.
+ The JSON text to parse.
+ Options to control the reader behavior during parsing.
+
+ does not represent a valid single JSON value.
+
+ contains unsupported options.
+ A JsonDocument representation of the JSON value.
+
+
+ Parses a as UTF-8-encoded data representing a single JSON value into a JsonDocument. The stream is read to completion.
+ The JSON data to parse.
+ Options to control the reader behavior during parsing.
+ The token to monitor for cancellation requests.
+
+ does not represent a valid single JSON value.
+
+ contains unsupported options.
+ A task to produce a JsonDocument representation of the JSON value.
+
+
+ Parses one JSON value (including objects or arrays) from the provided reader.
+ The reader to read.
+
+ contains unsupported options.
+
+-or-
+
+The current token does not start or represent a value.
+ A value could not be read from the reader.
+ A JsonDocument representing the value (and nested values) read from the reader.
+
+
+ Attempts to parse one JSON value (including objects or arrays) from the provided reader.
+ The reader to read.
+ When the method returns, contains the parsed document.
+
+ contains unsupported options.
+
+-or-
+
+The current token does not start or represent a value.
+ A value could not be read from the reader.
+
+ if a value was read and parsed into a JsonDocument; if the reader ran out of data while parsing. All other situations result in an exception being thrown.
+
+
+ Writes the document to the provided writer as a JSON value.
+ The writer to which to write the document.
+ The parameter is .
+ The of this would result in invalid JSON.
+ The parent has been disposed.
+
+
+ Gets the root element of this JSON document.
+ A representing the value of the document.
+
+
+ Provides the ability for the user to define custom behavior when parsing JSON to create a .
+
+
+ Gets or sets a value that indicates whether an extra comma at the end of a list of JSON values in an object or array is allowed (and ignored) within the JSON payload being read.
+
+ if an extra comma at the end of a list of JSON values in an object or array is allowed; otherwise, . Default is
+
+
+ Gets or sets a value that determines how the handles comments when reading through the JSON data.
+ The comment handling enum is set to a value that is not supported (or not within the enum range).
+ One of the enumeration values that indicates how comments are handled.
+
+
+ Gets or sets the maximum depth allowed when parsing JSON data, with the default (that is, 0) indicating a maximum depth of 64.
+ The max depth is set to a negative value.
+ The maximum depth allowed when parsing JSON data.
+
+
+ Represents a specific JSON value within a .
+
+
+ Gets a JsonElement that can be safely stored beyond the lifetime of the original .
+ A JsonElement that can be safely stored beyond the lifetime of the original .
+
+
+ Gets an enumerator to enumerate the values in the JSON array represented by this JsonElement.
+ This value's is not .
+ The parent has been disposed.
+ An enumerator to enumerate the values in the JSON array represented by this JsonElement.
+
+
+ Gets an enumerator to enumerate the properties in the JSON object represented by this JsonElement.
+ This value's is not .
+ The parent has been disposed.
+ An enumerator to enumerate the properties in the JSON object represented by this JsonElement.
+
+
+ Gets the number of values contained within the current array value.
+ This value's is not .
+ The parent has been disposed.
+ The number of values contained within the current array value.
+
+
+ Gets the value of the element as a .
+ This value's is neither nor .
+ The parent has been disposed.
+ The value of the element as a .
+
+
+ Gets the current JSON number as a .
+ This value's is not .
+ The value cannot be represented as a .
+ The parent has been disposed.
+ The current JSON number as a .
+
+
+ Gets the value of the element as a byte array.
+ This value's is not .
+ The value is not encoded as Base64 text and hence cannot be decoded to bytes.
+ The parent has been disposed.
+ The value decoded as a byte array.
+
+
+ Gets the value of the element as a .
+ This value's is not .
+ The value cannot be read as a .
+ The parent has been disposed.
+ The value of the element as a .
+
+
+ Gets the value of the element as a .
+ This value's is not .
+ The value cannot be read as a .
+ The parent has been disposed.
+ The value of the element as a .
+
+
+ Gets the current JSON number as a .
+ This value's is not .
+ The value cannot be represented as a .
+ The parent has been disposed.
+ The current JSON number as a .
+
+
+ Gets the current JSON number as a .
+ This value's is not .
+ The value cannot be represented as a .
+ The parent has been disposed.
+ The current JSON number as a .
+
+
+ Gets the value of the element as a .
+ This value's is not .
+ The value cannot be represented as a .
+ The parent has been disposed.
+ The value of the element as a .
+
+
+ Gets the current JSON number as an .
+ This value's is not .
+ The value cannot be represented as an .
+ The parent has been disposed.
+ The current JSON number as an .
+
+
+ Gets the current JSON number as an .
+ This value's is not .
+ The value cannot be represented as an .
+ The parent has been disposed.
+ The current JSON number as an .
+
+
+ Gets the current JSON number as an .
+ This value's is not .
+ The value cannot be represented as a .
+ The parent has been disposed.
+ The current JSON number as an .
+
+
+ Gets a representing the value of a required property identified by .
+ The UTF-8 representation (with no Byte-Order-Mark (BOM)) of the name of the property to return.
+ This value's is not .
+ No property was found with the requested name.
+ The parent has been disposed.
+ A representing the value of the requested property.
+
+
+ Gets a representing the value of a required property identified by .
+ The name of the property whose value is to be returned.
+ This value's is not .
+ No property was found with the requested name.
+ The parent has been disposed.
+ A representing the value of the requested property.
+
+
+ Gets a representing the value of a required property identified by .
+ The name of the property whose value is to be returned.
+ This value's is not .
+ No property was found with the requested name.
+
+ is .
+ The parent has been disposed.
+ A representing the value of the requested property.
+
+
+ Gets a string that represents the original input data backing this value.
+ The parent has been disposed.
+ The original input data backing this value.
+
+
+ Gets the current JSON number as an .
+ This value's is not .
+ The value cannot be represented as an .
+ The parent has been disposed.
+ The current JSON number as an .
+
+
+ Gets the current JSON number as a .
+ This value's is not .
+ The value cannot be represented as a .
+ The parent has been disposed.
+ The current JSON number as a .
+
+
+ Gets the value of the element as a .
+ This value's is neither nor .
+ The parent has been disposed.
+ The value of the element as a .
+
+
+ Gets the current JSON number as a .
+ This value's is not .
+ The value cannot be represented as a .
+ The parent has been disposed.
+ The current JSON number as a .
+
+
+ Gets the current JSON number as a .
+ This value's is not .
+ The value cannot be represented as a .
+ The parent has been disposed.
+ The current JSON number as a .
+
+
+ Gets the current JSON number as a .
+ This value's is not .
+ The value cannot be represented as a .
+ The parent has been disposed.
+ The current JSON number as a .
+
+
+ Parses one JSON value (including objects or arrays) from the provided reader.
+ The reader to read.
+
+ is using unsupported options.
+ The current token does not start or represent a value.
+ A value could not be read from the reader.
+ A JsonElement representing the value (and nested values) read from the reader.
+
+
+ Gets a string representation for the current value appropriate to the value type.
+ The parent has been disposed.
+ A string representation for the current value appropriate to the value type.
+
+
+ Attempts to represent the current JSON number as a .
+ When this method returns, contains the byte equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ This value's is not .
+ The parent has been disposed.
+
+ if the number can be represented as a ; otherwise, .
+
+
+ Attempts to represent the current JSON string as a byte array, assuming that it is Base64 encoded.
+ If the method succeeds, contains the decoded binary representation of the Base64 text.
+ This value's is not .
+ The parent has been disposed.
+
+ if the entire token value is encoded as valid Base64 text and can be successfully decoded to bytes; otherwise, .
+
+
+ Attempts to represent the current JSON string as a .
+ When this method returns, contains the date and time value equivalent to the current JSON string if the conversion succeeded, or if the conversion failed.
+ This value's is not .
+ The parent has been disposed.
+
+ if the string can be represented as a ; otherwise, .
+
+
+ Attempts to represent the current JSON string as a .
+ When this method returns, contains the date and time value equivalent to the current JSON string if the conversion succeeded, or if the conversion failed.
+ This value's is not .
+ The parent has been disposed.
+
+ if the string can be represented as a ; otherwise, .
+
+
+ Attempts to represent the current JSON number as a .
+ When this method returns, contains the decimal equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ This value's is not .
+ The parent has been disposed.
+
+ if the number can be represented as a ; otherwise, .
+
+
+ Attempts to represent the current JSON number as a .
+ When this method returns, contains a double-precision floating point value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ This value's is not .
+ The parent has been disposed.
+
+ if the number can be represented as a ; otherwise, .
+
+
+ Attempts to represent the current JSON string as a .
+ When this method returns, contains the GUID equivalent to the current JSON string if the conversion succeeded, or if the conversion failed.
+ This value's is not .
+ The parent has been disposed.
+
+ if the string can be represented as a ; otherwise, .
+
+
+ Attempts to represent the current JSON number as an .
+ When this method returns, contains the 16-bit integer value equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ This value's is not .
+ The parent has been disposed.
+
+ if the number can be represented as an ; otherwise, .
+
+
+ Attempts to represent the current JSON number as an .
+ When this method returns, contains the 32-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ This value's is not .
+ The parent has been disposed.
+
+ if the number can be represented as an ; otherwise, .
+
+
+ Attempts to represent the current JSON number as a .
+ When this method returns, contains the 64-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ This value's is not .
+ The parent has been disposed.
+
+ if the number can be represented as a ; otherwise, .
+
+
+ Looks for a property named in the current object, returning a value that indicates whether or not such a property exists. When the property exists, the method assigns its value to the argument.
+ The UTF-8 (with no Byte-Order-Mark (BOM)) representation of the name of the property to return.
+ Receives the value of the located property.
+ This value's is not .
+ The parent has been disposed.
+
+ if the property was found; otherwise, .
+
+
+ Looks for a property named in the current object, returning a value that indicates whether or not such a property exists. When the property exists, the method assigns its value to the argument.
+ The name of the property to find.
+ When this method returns, contains the value of the specified property.
+ This value's is not .
+ The parent has been disposed.
+
+ if the property was found; otherwise, .
+
+
+ Looks for a property named in the current object, returning a value that indicates whether or not such a property exists. When the property exists, its value is assigned to the argument.
+ The name of the property to find.
+ When this method returns, contains the value of the specified property.
+ This value's is not .
+
+ is .
+ The parent has been disposed.
+
+ if the property was found; otherwise, .
+
+
+ Attempts to represent the current JSON number as an .
+ When this method returns, contains the signed byte equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ This value's is not .
+ The parent has been disposed.
+
+ if the number can be represented as an ; otherwise, .
+
+
+ Attempts to represent the current JSON number as a .
+ When this method returns, contains the single-precision floating point value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ This value's is not .
+ The parent has been disposed.
+
+ if the number can be represented as a ; otherwise, .
+
+
+ Attempts to represent the current JSON number as a .
+ When this method returns, contains the unsigned 16-bit integer value equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ This value's is not .
+ The parent has been disposed.
+
+ if the number can be represented as a ; otherwise, .
+
+
+ Attempts to represent the current JSON number as a .
+ When this method returns, contains unsigned 32-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ This value's is not .
+ The parent has been disposed.
+
+ if the number can be represented as a ; otherwise, .
+
+
+ Attempts to represent the current JSON number as a .
+ When this method returns, contains unsigned 64-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ This value's is not .
+ The parent has been disposed.
+
+ if the number can be represented as a ; otherwise, .
+
+
+ Attempts to parse one JSON value (including objects or arrays) from the provided reader.
+ The reader to read.
+ Receives the parsed element.
+
+ is using unsupported options.
+ The current token does not start or represent a value.
+ A value could not be read from the reader.
+
+ if a value was read and parsed into a JsonElement; if the reader ran out of data while parsing.
+ All other situations result in an exception being thrown.
+
+
+ Compares the text represented by a UTF8-encoded byte span to the string value of this element.
+ The UTF-8 encoded text to compare against.
+ This value's is not .
+
+ if the string value of this element has the same UTF-8 encoding as
+ ; otherwise, .
+
+
+ Compares a specified read-only character span to the string value of this element.
+ The text to compare against.
+ This value's is not .
+
+ if the string value of this element matches ; otherwise, .
+
+
+ Compares a specified string to the string value of this element.
+ The text to compare against.
+ This value's is not .
+
+ if the string value of this element matches ; otherwise, .
+
+
+ Writes the element to the specified writer as a JSON value.
+ The writer to which to write the element.
+ The parameter is .
+ The of this value is .
+ The parent has been disposed.
+
+
+ Gets the value at the specified index if the current value is an .
+ The item index.
+ This value's is not .
+
+ is not in the range [0, ()).
+ The parent has been disposed.
+ The value at the specified index.
+
+
+ Gets the type of the current JSON value.
+ The parent has been disposed.
+ The type of the current JSON value.
+
+
+ Represents an enumerator for the contents of a JSON array.
+
+
+ Releases the resources used by this instance.
+
+
+ Returns an enumerator that iterates through a collection.
+ An enumerator that can be used to iterate through the array.
+
+
+ Advances the enumerator to the next element of the collection.
+
+ true
if the enumerator was successfully advanced to the next element; false
if the enumerator has passed the end of the collection.
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+ Returns an enumerator that iterates through a collection.
+ An enumerator for an array of that can be used to iterate through the collection.
+
+
+ Returns an enumerator that iterates through a collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Represents an enumerator for the properties of a JSON object.
+
+
+ Releases the resources used by this instance.
+
+
+ Returns an enumerator that iterates the properties of an object.
+ An enumerator that can be used to iterate through the object.
+
+
+ Advances the enumerator to the next element of the collection.
+
+ true
if the enumerator was successfully advanced to the next element; false
if the enumerator has passed the end of the collection.
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+ Returns an enumerator that iterates through a collection.
+ An enumerator for objects that can be used to iterate through the collection.
+
+
+ Returns an enumerator that iterates through a collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Provides methods to transform UTF-8 or UTF-16 encoded text into a form that is suitable for JSON.
+
+
+ Encodes a UTF-8 text value as a JSON string.
+ The UTF-8 encoded text to convert to JSON encoded text.
+ The encoder to use when escaping the string, or to use the default encoder.
+
+ is too large.
+
+-or-
+
+ contains invalid UTF-8 bytes.
+ The encoded JSON text.
+
+
+ Encodes a specified text value as a JSON string.
+ The value to convert to JSON encoded text.
+ The encoder to use when escaping the string, or to use the default encoder.
+
+ is too large.
+
+-or-
+
+ contains invalid UTF-16 characters.
+ The encoded JSON text.
+
+
+ Encodes the string text value as a JSON string.
+ The value to convert to JSON encoded text.
+ The encoder to use when escaping the string, or to use the default encoder.
+
+ is .
+
+ is too large.
+
+-or-
+
+ contains invalid UTF-16 characters.
+ The encoded JSON text.
+
+
+ Determines whether this instance and a specified object, which must also be a instance, have the same value.
+ The object to compare to this instance.
+
+ if the current instance and are equal; otherwise, .
+
+
+ Determines whether this instance and another specified instance have the same value.
+ The object to compare to this instance.
+
+ if this instance and have the same value; otherwise, .
+
+
+ Returns the hash code for this .
+ The hash code for this instance.
+
+
+ Converts the value of this instance to a .
+ The underlying UTF-16 encoded string.
+
+
+ Gets the UTF-8 encoded representation of the pre-encoded JSON text.
+ The UTF-8 encoded representation of the pre-encoded JSON text.
+
+
+ Gets the UTF-16 encoded representation of the pre-encoded JSON text as a .
+
+
+ Defines a custom exception object that is thrown when invalid JSON text is encountered, the defined maximum depth is passed, or the JSON text is not compatible with the type of a property on an object.
+
+
+ Initializes a new instance of the class.
+
+
+ Creates a new exception object with serialized data.
+ The serialized object data about the exception being thrown.
+ An object that contains contextual information about the source or destination.
+
+ is .
+
+
+ Initializes a new instance of the class with a specified error message.
+ The context-specific error message.
+
+
+ Initializes a new instance of the class, with a specified error message and a reference to the inner exception that is the cause of this exception.
+ The context-specific error message.
+ The exception that caused the current exception.
+
+
+ Creates a new exception object to relay error information to the user.
+ The context-specific error message.
+ The path where the invalid JSON was encountered.
+ The line number (starting at 0) at which the invalid JSON was encountered when deserializing.
+ The byte count within the current line (starting at 0) where the invalid JSON was encountered.
+
+
+ Creates a new exception object to relay error information to the user that includes a specified inner exception.
+ The context-specific error message.
+ The path where the invalid JSON was encountered.
+ The line number (starting at 0) at which the invalid JSON was encountered when deserializing.
+ The byte count (starting at 0) within the current line where the invalid JSON was encountered.
+ The exception that caused the current exception.
+
+
+ Sets the with information about the exception.
+ The serialized object data about the exception being thrown.
+ An object that contains contextual information about the source or destination.
+
+
+ Gets the zero-based number of bytes read within the current line before the exception.
+ The zero-based number of bytes read within the current line before the exception.
+
+
+ Gets the zero-based number of lines read before the exception.
+ The zero-based number of lines read before the exception.
+
+
+ Gets a message that describes the current exception.
+ The error message that describes the current exception.
+
+
+ Gets The path within the JSON where the exception was encountered.
+ The path within the JSON where the exception was encountered.
+
+
+ Determines the naming policy used to convert a string-based name to another format, such as a camel-casing format.
+
+
+ Initializes a new instance of .
+
+
+ When overridden in a derived class, converts the specified name according to the policy.
+ The name to convert.
+ The converted name.
+
+
+ Gets the naming policy for camel-casing.
+ The naming policy for camel-casing.
+
+
+ Gets the naming policy for lowercase kebab-casing.
+
+
+ Gets the naming policy for uppercase kebab-casing.
+
+
+ Gets the naming policy for lowercase snake-casing.
+
+
+ Gets the naming policy for uppercase snake-casing.
+
+
+ Represents a single property for a JSON object.
+
+
+ Compares the specified UTF-8 encoded text to the name of this property.
+ The UTF-8 encoded text to compare against.
+ This value's is not .
+
+ if the name of this property has the same UTF-8 encoding as ; otherwise, .
+
+
+ Compares the specified text as a character span to the name of this property.
+ The text to compare against.
+ This value's is not .
+
+ if the name of this property matches ; otherwise, .
+
+
+ Compares the specified string to the name of this property.
+ The text to compare against.
+ This value's is not .
+
+ if the name of this property matches ; otherwise .
+
+
+ Provides a string representation of the property for debugging purposes.
+ A string containing the uninterpreted value of the property, beginning at the declaring open-quote and ending at the last character that is part of the value.
+
+
+ Writes the property to the provided writer as a named JSON object property.
+ The writer to which to write the property.
+
+ is .
+
+ is too large to be a JSON object property.
+ The of this JSON property's would result in invalid JSON.
+ The parent has been disposed.
+
+
+ Gets the name of this property.
+ The name of this property.
+
+
+ Gets the value of this property.
+ The value of this property.
+
+
+ Provides the ability for the user to define custom behavior when reading JSON.
+
+
+ Gets or sets a value that defines whether an extra comma at the end of a list of JSON values in an object or array is allowed (and ignored) within the JSON payload being read.
+
+ if an extra comma is allowed; otherwise, .
+
+
+ Gets or sets a value that determines how the handles comments when reading through the JSON data.
+ The property is being set to a value that is not a member of the enumeration.
+ One of the enumeration values that indicates how comments are handled.
+
+
+ Gets or sets the maximum depth allowed when reading JSON, with the default (that is, 0) indicating a maximum depth of 64.
+ The maximum depth is being set to a negative value.
+ The maximum depth allowed when reading JSON.
+
+
+ Defines an opaque type that holds and saves all the relevant state information, which must be provided to the to continue reading after processing incomplete data.
+
+
+ Constructs a new instance.
+ Defines the customized behavior of the that is different from the JSON RFC (for example how to handle comments, or the maximum depth allowed when reading). By default, the follows the JSON RFC strictly (comments within the JSON are invalid) and reads up to a maximum depth of 64.
+ The maximum depth is set to a non-positive value (< 0).
+
+
+ Gets the custom behavior to use when reading JSON data using the struct that may deviate from strict adherence to the JSON specification, which is the default behavior.
+ The custom behavior to use when reading JSON data.
+
+
+ Provides functionality to serialize objects or value types to JSON and to deserialize JSON into objects or value types.
+
+
+ Reads the UTF-8 encoded text representing a single JSON value into an instance specified by the .
+ The Stream will be read to completion.
+ JSON data to parse.
+ Metadata about the type to convert.
+
+ or is .
+ The JSON is invalid,
+ or there is remaining data in the Stream.
+ A representation of the JSON value.
+
+
+ Reads the UTF-8 encoded text representing a single JSON value into a .
+ The Stream will be read to completion.
+ JSON data to parse.
+ The type of the object to convert to and return.
+ Options to control the behavior during reading.
+
+ or is .
+ The JSON is invalid, the is not compatible with the JSON, or there is remaining data in the Stream.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Reads the UTF-8 encoded text representing a single JSON value into a .
+ The Stream will be read to completion.
+ JSON data to parse.
+ The type of the object to convert to and return.
+ A metadata provider for serializable types.
+
+ , , or is .
+ The JSON is invalid, the is not compatible with the JSON, or there is remaining data in the Stream.
+ There is no compatible for or its serializable members.
+ The method on the provided did not return a compatible for .
+ A representation of the JSON value.
+
+
+ Parses the UTF-8 encoded text representing a single JSON value into an instance specified by the .
+ JSON text to parse.
+ Metadata about the type to convert.
+ The JSON is invalid,
+ or there is remaining data in the buffer.
+ A representation of the JSON value.
+
+
+ Parses the UTF-8 encoded text representing a single JSON value into an instance of a specified type.
+ The JSON text to parse.
+ The type of the object to convert to and return.
+ Options to control the behavior during parsing.
+
+ is .
+ The JSON is invalid.
+
+-or-
+
+ is not compatible with the JSON.
+
+-or-
+
+There is remaining data in the span beyond a single JSON value.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Parses the UTF-8 encoded text representing a single JSON value into a .
+ JSON text to parse.
+ The type of the object to convert to and return.
+ A metadata provider for serializable types.
+
+ is .
+ The JSON is invalid, is not compatible with the JSON, or there is remaining data in the Stream.
+ There is no compatible for or its serializable members.
+ The method on the provided did not return a compatible for .
+ A representation of the JSON value.
+
+
+ Parses the text representing a single JSON value into an instance specified by the .
+ JSON text to parse.
+ Metadata about the type to convert.
+
+ is .
+ The JSON is invalid.
+
+-or-
+
+There is remaining data in the string beyond a single JSON value.
+ A representation of the JSON value.
+
+
+ Parses the text representing a single JSON value into an instance of a specified type.
+ The JSON text to parse.
+ The type of the object to convert to and return.
+ Options to control the behavior during parsing.
+
+ is .
+ The JSON is invalid.
+
+-or-
+
+ is not compatible with the JSON.
+
+-or-
+
+There is remaining data in the span beyond a single JSON value.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Parses the text representing a single JSON value into a .
+ JSON text to parse.
+ The type of the object to convert to and return.
+ A metadata provider for serializable types.
+
+ or is .
+
+-or-
+
+ is .
+ The JSON is invalid.
+
+-or-
+
+ is not compatible with the JSON.
+
+-or-
+
+There is remaining data in the string beyond a single JSON value.
+ There is no compatible for or its serializable members.
+ The method of the provided returns for the type to convert.
+ A representation of the JSON value.
+
+
+ Parses the text representing a single JSON value into an instance specified by the .
+ JSON text to parse.
+ Metadata about the type to convert.
+
+ is .
+
+-or-
+
+ is .
+ The JSON is invalid.
+
+-or-
+
+There is remaining data in the string beyond a single JSON value.
+ A representation of the JSON value.
+
+
+ Parses the text representing a single JSON value into an instance of a specified type.
+ The JSON text to parse.
+ The type of the object to convert to and return.
+ Options to control the behavior during parsing.
+
+ or is .
+ The JSON is invalid.
+
+-or-
+
+ is not compatible with the JSON.
+
+-or-
+
+There is remaining data in the string beyond a single JSON value.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Parses the text representing a single JSON value into a .
+ JSON text to parse.
+ The type of the object to convert to and return.
+ A metadata provider for serializable types.
+
+ or is .
+
+-or-
+
+ is .
+ The JSON is invalid.
+
+-or-
+
+ is not compatible with the JSON.
+
+-or-
+
+There is remaining data in the string beyond a single JSON value.
+ There is no compatible for or its serializable members.
+ The method of the provided returns for the type to convert.
+ A representation of the JSON value.
+
+
+ Converts the representing a single JSON value into an instance specified by the .
+ The to convert.
+ Metadata about the type to convert.
+
+ is .
+
+-or-
+
+ is .
+ A representation of the JSON value.
+
+
+ Converts the representing a single JSON value into a .
+ The to convert.
+ The type of the object to convert to and return.
+ Options to control the behavior during parsing.
+
+ or is .
+
+ is not compatible with the JSON.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Converts the representing a single JSON value into a .
+ The to convert.
+ The type of the object to convert to and return.
+ A metadata provider for serializable types.
+
+ is .
+
+-or-
+
+ is .
+
+-or-
+
+ is .
+ The JSON is invalid.
+
+-or-
+
+ is not compatible with the JSON.
+
+-or-
+
+There is remaining data in the string beyond a single JSON value.
+ There is no compatible for or its serializable members.
+ The method of the provided returns for the type to convert.
+ A representation of the JSON value.
+
+
+ Converts the representing a single JSON value into an instance specified by the .
+ The to convert.
+ Metadata about the type to convert.
+
+ is .
+ A representation of the JSON value.
+
+
+ Converts the representing a single JSON value into a .
+ The to convert.
+ The type of the object to convert to and return.
+ Options to control the behavior during parsing.
+
+ is .
+
+ is not compatible with the JSON.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Converts the representing a single JSON value into a .
+ The to convert.
+ The type of the object to convert to and return.
+ A metadata provider for serializable types.
+
+ is .
+
+-or-
+
+ is .
+ The JSON is invalid.
+
+-or-
+
+ is not compatible with the JSON.
+
+-or-
+
+There is remaining data in the string beyond a single JSON value.
+ There is no compatible for or its serializable members.
+ The method of the provided returns for the type to convert.
+ A representation of the JSON value.
+
+
+ Converts the representing a single JSON value into an instance specified by the .
+ The to convert.
+ Metadata about the type to convert.
+
+ is .
+ A representation of the JSON value.
+
+
+ Converts the representing a single JSON value into a .
+ The to convert.
+ The type of the object to convert to and return.
+ Options to control the behavior during parsing.
+
+ is not compatible with the JSON.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Converts the representing a single JSON value into a .
+ The to convert.
+ The type of the object to convert to and return.
+ A metadata provider for serializable types.
+
+ is .
+
+-or-
+
+ is .
+ The JSON is invalid.
+
+-or-
+
+ is not compatible with the JSON.
+
+-or-
+
+There is remaining data in the string beyond a single JSON value.
+ There is no compatible for or its serializable members.
+ The method of the provided returns for the type to convert.
+ A representation of the JSON value.
+
+
+ Reads one JSON value (including objects or arrays) from the provided reader into an instance specified by the .
+ The reader to read.
+ Metadata about the type to convert.
+ The JSON is invalid,
+ is not compatible with the JSON,
+ or a value could not be read from the reader.
+
+ is using unsupported options.
+ A representation of the JSON value.
+
+
+ Reads one JSON value (including objects or arrays) from the provided reader and converts it into an instance of a specified type.
+ The reader to read the JSON from.
+ The type of the object to convert to and return.
+ Options to control the serializer behavior during reading.
+
+ is .
+ The JSON is invalid.
+
+-or-
+
+ is not compatible with the JSON.
+
+-or-
+
+A value could not be read from the reader.
+
+ is using unsupported options.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Reads one JSON value (including objects or arrays) from the provided reader into a .
+ The reader to read.
+ The type of the object to convert to and return.
+ A metadata provider for serializable types.
+
+ or is .
+ The JSON is invalid, is not compatible with the JSON, or a value could not be read from the reader.
+
+ is using unsupported options.
+ There is no compatible for or its serializable members.
+ The method on the provided did not return a compatible for .
+ A representation of the JSON value.
+
+
+ Reads the UTF-8 encoded text representing a single JSON value into a .
+ The Stream will be read to completion.
+ JSON data to parse.
+ Options to control the behavior during reading.
+ The type to deserialize the JSON value into.
+
+ is .
+ The JSON is invalid, is not compatible with the JSON, or there is remaining data in the Stream.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Reads the UTF-8 encoded text representing a single JSON value into a .
+ The Stream will be read to completion.
+ JSON data to parse.
+ Metadata about the type to convert.
+ The type to deserialize the JSON value into.
+
+ or is .
+ The JSON is invalid, is not compatible with the JSON, or there is remaining data in the Stream.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Parses the UTF-8 encoded text representing a single JSON value into an instance of the type specified by a generic type parameter.
+ The JSON text to parse.
+ Options to control the behavior during parsing.
+ The target type of the UTF-8 encoded text.
+ The JSON is invalid.
+
+-or-
+
+ is not compatible with the JSON.
+
+-or-
+
+There is remaining data in the span beyond a single JSON value.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Parses the UTF-8 encoded text representing a single JSON value into a .
+ JSON text to parse.
+ Metadata about the type to convert.
+ The type to deserialize the JSON value into.
+ The JSON is invalid, is not compatible with the JSON, or there is remaining data in the Stream.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Parses the text representing a single JSON value into an instance of the type specified by a generic type parameter.
+ The JSON text to parse.
+ Options to control the behavior during parsing.
+ The type to deserialize the JSON value into.
+ The JSON is invalid.
+
+-or-
+
+ is not compatible with the JSON.
+
+-or-
+
+There is remaining data in the span beyond a single JSON value.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Parses the text representing a single JSON value into a .
+ JSON text to parse.
+ Metadata about the type to convert.
+ The type to deserialize the JSON value into.
+
+ is .
+
+-or-
+
+ is .
+ The JSON is invalid.
+
+-or-
+
+ is not compatible with the JSON.
+
+-or-
+
+There is remaining data in the string beyond a single JSON value.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Parses the text representing a single JSON value into an instance of the type specified by a generic type parameter.
+ The JSON text to parse.
+ Options to control the behavior during parsing.
+ The target type of the JSON value.
+
+ is .
+ The JSON is invalid.
+
+-or-
+
+ is not compatible with the JSON.
+
+-or-
+
+There is remaining data in the string beyond a single JSON value.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Parses the text representing a single JSON value into a .
+ JSON text to parse.
+ Metadata about the type to convert.
+ The type to deserialize the JSON value into.
+
+ is .
+
+-or-
+
+ is .
+ The JSON is invalid.
+
+-or-
+
+ is not compatible with the JSON.
+
+-or-
+
+There is remaining data in the string beyond a single JSON value.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Converts the representing a single JSON value into a .
+ The to convert.
+ Options to control the behavior during parsing.
+ The type to deserialize the JSON value into.
+
+ is .
+
+ is not compatible with the JSON.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Converts the representing a single JSON value into a .
+ The to convert.
+ Metadata about the type to convert.
+ The type to deserialize the JSON value into.
+
+ is .
+
+-or-
+
+ is .
+
+ is not compatible with the JSON.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Converts the representing a single JSON value into a .
+ The to convert.
+ Options to control the behavior during parsing.
+ The type to deserialize the JSON value into.
+
+ is not compatible with the JSON.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Converts the representing a single JSON value into a .
+ The to convert.
+ Metadata about the type to convert.
+ The type to deserialize the JSON value into.
+
+ is .
+
+ is not compatible with the JSON.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Converts the representing a single JSON value into a .
+ The to convert.
+ Options to control the behavior during parsing.
+ The type to deserialize the JSON value into.
+
+ is not compatible with the JSON.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Converts the representing a single JSON value into a .
+ The to convert.
+ Metadata about the type to convert.
+ The type to deserialize the JSON value into.
+
+ is .
+
+ is not compatible with the JSON.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Reads one JSON value (including objects or arrays) from the provided reader into an instance of the type specified by a generic type parameter.
+ The reader to read the JSON from.
+ Options to control serializer behavior during reading.
+ The target type of the JSON value.
+ The JSON is invalid.
+
+-or-
+
+ is not compatible with the JSON.
+
+-or-
+
+A value could not be read from the reader.
+
+ uses unsupported options.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Reads one JSON value (including objects or arrays) from the provided reader into a .
+ The reader to read.
+ Metadata about the type to convert.
+ The type to deserialize the JSON value into.
+ The JSON is invalid, is not compatible with the JSON, or a value could not be read from the reader.
+
+ is using unsupported options.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Reads the UTF-8 encoded text representing a single JSON value into an instance specified by the .
+ The Stream will be read to completion.
+ JSON data to parse.
+ Metadata about the type to convert.
+ The that can be used to cancel the read operation.
+
+ or is .
+ The JSON is invalid,
+ or when there is remaining data in the Stream.
+ A representation of the JSON value.
+
+
+ Asynchronously reads the UTF-8 encoded text representing a single JSON value into an instance of a specified type. The stream will be read to completion.
+ The JSON data to parse.
+ The type of the object to convert to and return.
+ Options to control the behavior during reading.
+ A cancellation token that may be used to cancel the read operation.
+
+ or is .
+ The JSON is invalid.
+
+-or-
+
+ is not compatible with the JSON.
+
+-or-
+
+There is remaining data in the stream.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Reads the UTF-8 encoded text representing a single JSON value into a .
+ The Stream will be read to completion.
+ JSON data to parse.
+ The type of the object to convert to and return.
+ A metadata provider for serializable types.
+ The that can be used to cancel the read operation.
+
+ , , or is .
+ The JSON is invalid, the is not compatible with the JSON, or there is remaining data in the Stream.
+ There is no compatible for or its serializable members.
+ The method on the provided did not return a compatible for .
+ A representation of the JSON value.
+
+
+ Asynchronously reads the UTF-8 encoded text representing a single JSON value into an instance of a type specified by a generic type parameter. The stream will be read to completion.
+ The JSON data to parse.
+ Options to control the behavior during reading.
+ A token that may be used to cancel the read operation.
+ The target type of the JSON value.
+ The JSON is invalid.
+
+-or-
+
+ is not compatible with the JSON.
+
+-or-
+
+There is remaining data in the stream.
+ There is no compatible for or its serializable members.
+
+ is .
+ A representation of the JSON value.
+
+
+ Reads the UTF-8 encoded text representing a single JSON value into a .
+ The Stream will be read to completion.
+ JSON data to parse.
+ Metadata about the type to convert.
+ The which may be used to cancel the read operation.
+ The type to deserialize the JSON value into.
+
+ or is .
+ The JSON is invalid, is not compatible with the JSON, or there is remaining data in the Stream.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Wraps the UTF-8 encoded text into an that can be used to deserialize root-level JSON arrays in a streaming manner.
+ JSON data to parse.
+ Options to control the behavior during reading.
+ The which may be used to cancel the read operation.
+ The element type to deserialize asynchronously.
+
+ is .
+ An representation of the provided JSON array.
+
+
+ Wraps the UTF-8 encoded text into an that can be used to deserialize root-level JSON arrays in a streaming manner.
+ JSON data to parse.
+ Metadata about the element type to convert.
+ The that can be used to cancel the read operation.
+ The element type to deserialize asynchronously.
+
+ or is .
+ An representation of the provided JSON array.
+
+
+ Converts the provided value to UTF-8 encoded JSON text and write it to the .
+ The UTF-8 to write to.
+ The value to convert.
+ Metadata about the type to convert.
+
+ is .
+
+ does not match the type of .
+
+
+ Converts the provided value to UTF-8 encoded JSON text and write it to the .
+ The UTF-8 to write to.
+ The value to convert.
+ The type of the to convert.
+ Options to control the conversion behavior.
+
+ is not compatible with .
+
+ or is .
+ There is no compatible for or its serializable members.
+
+
+ Converts the provided value to UTF-8 encoded JSON text and write it to the .
+ The UTF-8 to write to.
+ The value to convert.
+ The type of the to convert.
+ A metadata provider for serializable types.
+
+ is not compatible with .
+
+ , , or is .
+ There is no compatible for or its serializable members.
+
+
+ Converts the provided value into a .
+ The value to convert.
+ Metadata about the type to convert.
+
+ is .
+
+ does not match the type of .
+ A representation of the value.
+
+
+ Converts the value of a specified type into a JSON string.
+ The value to convert.
+ The type of the to convert.
+ Options to control the conversion behavior.
+
+ is not compatible with .
+
+ is .
+ There is no compatible for or its serializable members.
+ The JSON string representation of the value.
+
+
+ Converts the provided value into a .
+ The value to convert.
+ The type of the to convert.
+ A metadata provider for serializable types.
+ There is no compatible for or its serializable members.
+ The method of the provided returns for the type to convert.
+
+ or is .
+ A representation of the value.
+
+
+ Writes one JSON value (including objects or arrays) to the provided writer.
+ The writer to write.
+ The value to convert and write.
+ Metadata about the type to convert.
+
+ or is .
+
+ does not match the type of .
+
+
+ Writes the JSON representation of the specified type to the provided writer.
+ The JSON writer to write to.
+ The value to convert and write.
+ The type of the to convert.
+ Options to control serialization behavior.
+
+ is not compatible with
+
+ or is .
+ There is no compatible for or its serializable members.
+
+
+ Writes one JSON value (including objects or arrays) to the provided writer.
+ A JSON writer to write to.
+ The value to convert and write.
+ The type of the to convert.
+ A metadata provider for serializable types.
+
+ is not compatible with .
+
+ or is .
+ There is no compatible for or its serializable members.
+ The method of the provided returns for the type to convert.
+
+
+ Converts the value of a type specified by a generic type parameter into a JSON string.
+ The value to convert.
+ Options to control serialization behavior.
+ The type of the value to serialize.
+ There is no compatible for or its serializable members.
+ A JSON string representation of the value.
+
+
+ Converts the provided value into a .
+ The value to convert.
+ Metadata about the type to convert.
+ The type of the value to serialize.
+ There is no compatible for or its serializable members.
+
+ is .
+ A representation of the value.
+
+
+ Converts the provided value to UTF-8 encoded JSON text and write it to the .
+ The UTF-8 to write to.
+ The value to convert.
+ Options to control the conversion behavior.
+ The type of the value to serialize.
+
+ is .
+ There is no compatible for or its serializable members.
+
+
+ Converts the provided value to UTF-8 encoded JSON text and write it to the .
+ The UTF-8 to write to.
+ The value to convert.
+ Metadata about the type to convert.
+ The type of the value to serialize.
+
+ is .
+ There is no compatible for or its serializable members.
+
+
+ Writes the JSON representation of a type specified by a generic type parameter to the provided writer.
+ A JSON writer to write to.
+ The value to convert and write.
+ Options to control serialization behavior.
+ The type of the value to serialize.
+
+ is .
+ There is no compatible for or its serializable members.
+
+
+ Writes one JSON value (including objects or arrays) to the provided writer.
+ The writer to write.
+ The value to convert and write.
+ Metadata about the type to convert.
+ The type of the value to serialize.
+
+ or is .
+ There is no compatible for or its serializable members.
+
+
+ Converts the provided value to UTF-8 encoded JSON text and writes it to the .
+ The UTF-8 to write to.
+ The value to convert.
+ Metadata about the type to convert.
+ The that can be used to cancel the write operation.
+
+ is .
+
+ does not match the type of .
+ A task that represents the asynchronous write operation.
+
+
+ Asynchronously converts the value of a specified type to UTF-8 encoded JSON text and writes it to the specified stream.
+ The UTF-8 stream to write to.
+ The value to convert.
+ The type of the to convert.
+ Options to control serialization behavior.
+ A token that may be used to cancel the write operation.
+
+ is not compatible with .
+
+ or is .
+ There is no compatible for or its serializable members.
+ A task that represents the asynchronous write operation.
+
+
+ Converts the provided value to UTF-8 encoded JSON text and write it to the .
+ The UTF-8 to write to.
+ The value to convert.
+ The type of the to convert.
+ A metadata provider for serializable types.
+ The that can be used to cancel the write operation.
+
+ is not compatible with .
+
+ , , or is .
+ There is no compatible for or its serializable members.
+ A task that represents the asynchronous write operation.
+
+
+ Asynchronously converts a value of a type specified by a generic type parameter to UTF-8 encoded JSON text and writes it to a stream.
+ The UTF-8 stream to write to.
+ The value to convert.
+ Options to control serialization behavior.
+ A token that may be used to cancel the write operation.
+ The type of the value to serialize.
+
+ is .
+ There is no compatible for or its serializable members.
+ A task that represents the asynchronous write operation.
+
+
+ Converts the provided value to UTF-8 encoded JSON text and write it to the .
+ The UTF-8 to write to.
+ The value to convert.
+ Metadata about the type to convert.
+ The that can be used to cancel the write operation.
+ The type of the value to serialize.
+
+ is .
+ There is no compatible for or its serializable members.
+ A task that represents the asynchronous write operation.
+
+
+ Converts the provided value into a .
+ The value to convert.
+ Metadata about the type to convert.
+
+ is .
+
+ does not match the type of .
+ A representation of the value.
+
+
+ Converts the provided value into a .
+ The value to convert.
+ The type of the to convert.
+ Options to control the conversion behavior.
+
+ is not compatible with .
+
+ is .
+ There is no compatible for or its serializable members.
+ A representation of the value.
+
+
+ Converts the provided value into a .
+ The value to convert.
+ The type of the to convert.
+ A metadata provider for serializable types.
+ There is no compatible for or its serializable members.
+ The method of the provided returns for the type to convert.
+
+ or is .
+ A representation of the value.
+
+
+ Converts the provided value into a .
+ The value to convert.
+ Options to control the conversion behavior.
+ The type of the value to serialize.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Converts the provided value into a .
+ The value to convert.
+ Metadata about the type to convert.
+ The type of the value to serialize.
+ There is no compatible for or its serializable members.
+
+ is .
+ A representation of the value.
+
+
+ Converts the provided value into a .
+ The value to convert.
+ Metadata about the type to convert.
+
+ is .
+
+ does not match the type of .
+ A representation of the value.
+
+
+ Converts the provided value into a .
+ The value to convert.
+ The type of the to convert.
+ Options to control the conversion behavior.
+
+ is not compatible with .
+
+ is .
+ There is no compatible for or its serializable members.
+ A representation of the value.
+
+
+ Converts the provided value into a .
+ The value to convert.
+ The type of the to convert.
+ A metadata provider for serializable types.
+ There is no compatible for or its serializable members.
+ The method of the provided returns for the type to convert.
+
+ or is .
+ A representation of the value.
+
+
+ Converts the provided value into a .
+ The value to convert.
+ Options to control the conversion behavior.
+ The type of the value to serialize.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Converts the provided value into a .
+ The value to convert.
+ Metadata about the type to convert.
+ The type of the value to serialize.
+ There is no compatible for or its serializable members.
+
+ is .
+ A representation of the value.
+
+
+ Converts the provided value into a .
+ The value to convert.
+ Metadata about the type to convert.
+
+ is .
+
+ does not match the type of .
+ A representation of the value.
+
+
+ Converts the provided value into a .
+ The value to convert.
+ The type of the to convert.
+ Options to control the conversion behavior.
+
+ is not compatible with .
+
+ is .
+ There is no compatible for or its serializable members.
+ A representation of the value.
+
+
+ Converts the provided value into a .
+ The value to convert.
+ The type of the to convert.
+ A metadata provider for serializable types.
+ There is no compatible for or its serializable members.
+ The method of the provided returns for the type to convert.
+
+ or is .
+ A representation of the value.
+
+
+ Converts the provided value into a .
+ The value to convert.
+ Options to control the conversion behavior.
+ The type of the value to serialize.
+ There is no compatible for or its serializable members.
+ A representation of the JSON value.
+
+
+ Converts the provided value into a .
+ The value to convert.
+ Metadata about the type to convert.
+ The type of the value to serialize.
+ There is no compatible for or its serializable members.
+
+ is .
+ A representation of the value.
+
+
+ Converts the provided value into a array.
+ The value to convert.
+ Metadata about the type to convert.
+
+ is .
+
+ does not match the type of .
+ A UTF-8 representation of the value.
+
+
+ Converts a value of the specified type into a JSON string, encoded as UTF-8 bytes.
+ The value to convert.
+ The type of the to convert.
+ Options to control the conversion behavior.
+
+ is not compatible with .
+
+ is .
+ There is no compatible for or its serializable members.
+ A JSON string representation of the value, encoded as UTF-8 bytes.
+
+
+ Converts the provided value into a array.
+ The value to convert.
+ The type of the to convert.
+ A metadata provider for serializable types.
+
+ is not compatible with .
+
+ is .
+ There is no compatible for or its serializable members.
+ The method of the provided returns for the type to convert.
+ A UTF-8 representation of the value.
+
+
+ Converts the value of a type specified by a generic type parameter into a JSON string, encoded as UTF-8 bytes.
+ The value to convert.
+ Options to control the conversion behavior.
+ The type of the value.
+ There is no compatible for or its serializable members.
+ A JSON string representation of the value, encoded as UTF-8 bytes.
+
+
+ Converts the provided value into a array.
+ The value to convert.
+ Metadata about the type to convert.
+ The type of the value to serialize.
+ There is no compatible for or its serializable members.
+
+ is .
+ A UTF-8 representation of the value.
+
+
+ Indicates whether unconfigured instances should be set to use the reflection-based .
+
+
+ Specifies scenario-based default serialization options that can be used to construct a instance.
+
+
+
+ General-purpose option values. These are the same settings that are applied if a member isn't specified.
+ For information about the default property values that are applied, see JsonSerializerOptions properties.
+
+
+
+
+ Option values appropriate to Web-based scenarios.
+ This member implies that:
+ - Property names are treated as case-insensitive.
+ - "camelCase" name formatting should be employed.
+ - Quoted numbers (JSON strings for number properties) are allowed.
+
+
+
+ Provides options to be used with .
+
+
+ Initializes a new instance of the class.
+
+
+ Constructs a new instance with a predefined set of options determined by the specified .
+ The to reason about.
+
+
+ Copies the options from a instance to a new instance.
+ The options instance to copy options from.
+
+ is .
+
+
+ Appends a new to the metadata resolution of the current instance.
+ The generic definition of the specified context type.
+
+
+ Returns the converter for the specified type.
+ The type to return a converter for.
+ The configured for returned an invalid converter.
+ There is no compatible for or its serializable members.
+ The first converter that supports the given type.
+
+
+ Gets the contract metadata resolved by the current instance.
+ The type to resolve contract metadata for.
+
+ is .
+
+ is not valid for serialization.
+ The contract metadata resolved for .
+
+
+ Marks the current instance as read-only to prevent any further user modification.
+ The instance does not specify a setting.
+
+
+ Marks the current instance as read-only preventing any further user modification.
+ Populates unconfigured properties with the reflection-based default.
+
+ The instance does not specify a setting. Thrown when is .
+ -or-
+ The feature switch has been turned off.
+
+
+
+ Tries to get the contract metadata resolved by the current instance.
+ The type to resolve contract metadata for.
+ When this method returns, contains the resolved contract metadata, or if the contract could not be resolved.
+
+ is .
+
+ is not valid for serialization.
+
+ if a contract for was found, or otherwise.
+
+
+ Get or sets a value that indicates whether an extra comma at the end of a list of JSON values in an object or array is allowed (and ignored) within the JSON payload being deserialized.
+ This property was set after serialization or deserialization has occurred.
+
+ if an extra comma at the end of a list of JSON values in an object or array is allowed (and ignored); otherwise.
+
+
+ Gets the list of user-defined converters that were registered.
+ The list of custom converters.
+
+
+ Gets a read-only, singleton instance of that uses the default configuration.
+
+
+ Gets or sets the default buffer size, in bytes, to use when creating temporary buffers.
+ The buffer size is less than 1.
+ This property was set after serialization or deserialization has occurred.
+ The default buffer size in bytes.
+
+
+ Gets or sets a value that determines when properties with default values are ignored during serialization or deserialization.
+ The default value is .
+ This property is set to .
+ This property is set after serialization or deserialization has occurred.
+
+-or-
+
+ has been set to . These properties cannot be used together.
+
+
+ Gets or sets the policy used to convert a key's name to another format, such as camel-casing.
+ The policy used to convert a key's name to another format.
+
+
+ Gets or sets the encoder to use when escaping strings, or to use the default encoder.
+ The JavaScript character encoding.
+
+
+ Gets or sets a value that indicates whether values are ignored during serialization and deserialization. The default value is .
+ This property was set after serialization or deserialization has occurred.
+
+-or-
+
+ has been set to a non-default value. These properties cannot be used together.
+
+ if null values are ignored during serialization and deserialization; otherwise, .
+
+
+ Gets or sets a value that indicates whether read-only fields are ignored during serialization. A field is read-only if it is marked with the keyword. The default value is .
+ This property is set after serialization or deserialization has occurred.
+
+ if read-only fields are ignored during serialization; otherwise.
+
+
+ Gets a value that indicates whether read-only properties are ignored during serialization. The default value is .
+ This property was set after serialization or deserialization has occurred.
+
+ if read-only properties are ignored during serialization; otherwise, .
+
+
+ Gets or sets a value that indicates whether fields are handled during serialization and deserialization.
+ The default value is .
+ This property is set after serialization or deserialization has occurred.
+
+ if fields are included during serialization; otherwise, .
+
+
+ Gets a value that indicates whether the current instance has been locked for user modification.
+
+
+ Gets or sets the maximum depth allowed when serializing or deserializing JSON, with the default value of 0 indicating a maximum depth of 64.
+ This property was set after serialization or deserialization has occurred.
+ The max depth is set to a negative value.
+ The maximum depth allowed when serializing or deserializing JSON.
+
+
+ Gets or sets an object that specifies how number types should be handled when serializing or deserializing.
+ This property is set after serialization or deserialization has occurred.
+
+
+ Gets or sets the preferred object creation handling for properties when deserializing JSON.
+ When set to , all properties that are capable of reusing the existing instance will be populated.
+
+
+ Gets or sets a value that indicates whether a property's name uses a case-insensitive comparison during deserialization. The default value is .
+
+ if property names are compared case-insensitively; otherwise, .
+
+
+ Gets or sets a value that specifies the policy used to convert a property's name on an object to another format, such as camel-casing, or to leave property names unchanged.
+ A property naming policy, or to leave property names unchanged.
+
+
+ Gets or sets a value that defines how comments are handled during deserialization.
+ This property was set after serialization or deserialization has occurred.
+ The comment handling enum is set to a value that is not supported (or not within the enum range).
+ A value that indicates whether comments are allowed, disallowed, or skipped.
+
+
+ Gets or sets an object that specifies how object references are handled when reading and writing JSON.
+
+
+ Gets or sets the contract resolver used by this instance.
+ The property is set after serialization or deserialization has occurred.
+
+
+ Gets the list of chained contract resolvers used by this instance.
+
+
+ Gets or sets an object that specifies how deserializing a type declared as an is handled during deserialization.
+
+
+ Gets or sets an object that specifies how handles JSON properties that cannot be mapped to a specific .NET member when deserializing object types.
+
+
+ Gets or sets a value that indicates whether JSON should use pretty printing. By default, JSON is serialized without any extra white space.
+ This property was set after serialization or deserialization has occurred.
+
+ if JSON is pretty printed on serialization; otherwise, . The default is .
+
+
+ Defines the various JSON tokens that make up a JSON text.
+
+
+ The token type is a comment string.
+
+
+ The token type is the end of a JSON array.
+
+
+ The token type is the end of a JSON object.
+
+
+ The token type is the JSON literal false.
+
+
+ There is no value (as distinct from ). This is the default token type if no data has been read by the .
+
+
+ The token type is the JSON literal null.
+
+
+ The token type is a JSON number.
+
+
+ The token type is a JSON property name.
+
+
+ The token type is the start of a JSON array.
+
+
+ The token type is the start of a JSON object.
+
+
+ The token type is a JSON string.
+
+
+ The token type is the JSON literal true.
+
+
+ Specifies the data type of a JSON value.
+
+
+ A JSON array.
+
+
+ The JSON value false.
+
+
+ The JSON value null.
+
+
+ A JSON number.
+
+
+ A JSON object.
+
+
+ A JSON string.
+
+
+ The JSON value true.
+
+
+ There is no value (as distinct from ).
+
+
+ Allows the user to define custom behavior when writing JSON using the .
+
+
+ Gets or sets the encoder to use when escaping strings, or to use the default encoder.
+ The JavaScript character encoder used to override the escaping behavior.
+
+
+ Gets or sets a value that indicates whether the should format the JSON output, which includes indenting nested JSON tokens, adding new lines, and adding white space between property names and values.
+
+ if the JSON output is formatted; if the JSON is written without any extra white space. The default is .
+
+
+ Gets or sets the maximum depth allowed when writing JSON, with the default (that is, 0) indicating a max depth of 1000.
+ Thrown when the max depth is set to a negative value.
+
+
+ Gets or sets a value that indicates whether the should skip structural validation and allow the user to write invalid JSON.
+
+ if structural validation is skipped and invalid JSON is allowed; if an is thrown on any attempt to write invalid JSON.
+
+
+ Represents a mutable JSON array.
+
+
+ Initializes a new instance of the class that is empty.
+ Options to control the behavior.
+
+
+ Initializes a new instance of the class that contains items from the specified array.
+ The items to add to the new .
+
+
+ Initializes a new instance of the class that contains items from the specified params array.
+ Options to control the behavior.
+ The items to add to the new .
+
+
+ Adds a to the end of the .
+ The to be added to the end of the .
+
+
+ Adds an object to the end of the .
+ The object to be added to the end of the .
+ The type of object to be added.
+
+
+ Removes all elements from the .
+
+
+ Determines whether an element is in the .
+ The object to locate in the .
+
+ if is found in the ; otherwise, .
+
+
+ Initializes a new instance of the class that contains items from the specified .
+ The .
+ Options to control the behavior.
+ The is not a .
+ The new instance of the class that contains items from the specified .
+
+
+ Returns an enumerator that iterates through the .
+ An for the .
+
+
+ Returns an enumerable that wraps calls to .
+ The type of the value to obtain from the .
+ An enumerable iterating over values of the array.
+
+
+ The object to locate in the .
+ The to locate in the .
+ The index of item if found in the list; otherwise, -1.
+
+
+ Inserts an element into the at the specified index.
+ The zero-based index at which should be inserted.
+ The to insert.
+
+ is less than 0 or is greater than .
+
+
+ Removes the first occurrence of a specific from the .
+ The to remove from the .
+
+ if is successfully removed; otherwise, .
+
+
+ Removes the element at the specified index of the .
+ The zero-based index of the element to remove.
+
+ is less than 0 or is greater than .
+
+
+ Copies the entire to a compatible one-dimensional array, starting at the specified index of the target array.
+ The one-dimensional that is the destination of the elements copied from . The Array must have zero-based indexing.
+ The zero-based index in at which copying begins.
+
+ is .
+
+ is less than 0.
+ The number of elements in the source ICollection is greater than the available space from to the end of the destination .
+
+
+ Returns an enumerator that iterates through the .
+ A for the .
+
+
+ Writes the into the provided as JSON.
+ The .
+ Options to control the serialization behavior.
+
+
+ Gets the number of elements contained in the .
+ The number of elements contained in the .
+
+
+ Returns .
+
+ if the is read-only; otherwise, .
+
+
+ The base class that represents a single node within a mutable JSON document.
+
+
+ Casts to the derived type.
+ The node is not a .
+ A .
+
+
+ Casts to the derived type.
+ The node is not a .
+ A .
+
+
+ Casts to the derived type.
+ The node is not a .
+ A .
+
+
+ Creates a new instance of the class. All child nodes are recursively cloned.
+ A new cloned instance of the current node.
+
+
+ Compares the values of two nodes, including the values of all descendant nodes.
+ The to compare.
+ The to compare.
+
+ if the tokens are equal; otherwise .
+
+
+ Returns the index of the current node from the parent .
+ The current parent is not a .
+ The index of the current node.
+
+
+ Gets the JSON path.
+ The JSON Path value.
+
+
+ Returns the property name of the current node from the parent object.
+ The current parent is not a .
+ The property name of the current node.
+
+
+ Gets the value for the current .
+ The type of the value to obtain from the .
+ The current cannot be represented as a {TValue}.
+ The current is not a or is not compatible with {TValue}.
+ A value converted from the instance.
+
+
+ Returns the of the current instance.
+ The json value kind of the current instance.
+
+
+ Defines an explicit conversion of a given to a .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a given to a .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a given to a .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a given to a .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a given to a .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a given to a .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a given to a .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a given to a .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a given to an .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a given to an .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a given to an .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a specified nullable to a nullable .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a specified nullable to a nullable .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a given to a .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a specified nullable to a nullable .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a specified nullable to a nullable .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a specified nullable to a nullable .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a specified nullable to a nullable .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a specified nullable to a nullable .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a specified nullable to a nullable .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a specified nullable to a nullable .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a specified nullable to a nullable .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a specified nullable to a nullable .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a specified nullable to a nullable .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a specified nullable to a nullable .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a specified nullable to a nullable .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a specified nullable to a nullable .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a given to an .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a given to a .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a specified nullable to a nullable .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a given to a .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a given to a .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an explicit conversion of a given to a .
+ A to explicitly convert.
+ A value converted from the instance.
+
+
+ Defines an implicit conversion of a given to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a given to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a given to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a given to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a given to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a given to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a given to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a given to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a given to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a given to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a given to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a nullable .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Defines an implicit conversion of a specified nullable to a .
+ A to implicitly convert.
+ A instance converted from the parameter.
+
+
+ Parses a as UTF-8-encoded data representing a single JSON value into a . The Stream will be read to completion.
+ JSON text to parse.
+ Options to control the node behavior after parsing.
+ Options to control the document behavior during parsing.
+
+ does not represent a valid single JSON value.
+ A representation of the JSON value.
+
+
+ Parses text representing a single JSON value.
+ JSON text to parse.
+ Options to control the node behavior after parsing.
+ Options to control the document behavior during parsing.
+
+ does not represent a valid single JSON value.
+ A representation of the JSON value.
+
+
+ Parses text representing a single JSON value.
+ JSON text to parse.
+ Options to control the node behavior after parsing.
+ Options to control the document behavior during parsing.
+
+ is .
+
+ does not represent a valid single JSON value.
+ A representation of the JSON value.
+
+
+ Parses one JSON value (including objects or arrays) from the provided reader.
+ The reader to read.
+ Options to control the behavior.
+
+ is using unsupported options.
+ The current token does not start or represent a value.
+ A value could not be read from the reader.
+ The from the reader.
+
+
+ Parses a as UTF-8 encoded data representing a single JSON value into a . The stream will be read to completion.
+ The JSON text to parse.
+ Options to control the node behavior after parsing.
+ Options to control the document behavior during parsing.
+ The token to monitor for cancellation requests.
+
+ does not represent a valid single JSON value.
+ A to produce a representation of the JSON value.
+
+
+ Replaces this node with a new value.
+ The value that replaces this node.
+ The type of value to be replaced.
+
+
+ Converts the current instance to string in JSON format.
+ Options to control the serialization behavior.
+ JSON representation of current instance.
+
+
+ Gets a string representation for the current value appropriate to the node type.
+ A string representation for the current value appropriate to the node type.
+
+
+ Writes the into the provided as JSON.
+ The .
+ Options to control the serialization behavior.
+ The parameter is .
+
+
+ Gets or sets the element at the specified index.
+ The zero-based index of the element to get or set.
+
+ is less than 0 or is greater than the number of properties.
+ The current is not a .
+
+
+ Gets or sets the element with the specified property name.
+ If the property is not found, is returned.
+ The name of the property to return.
+
+ is .
+ The current is not a .
+
+
+ Gets the options to control the behavior.
+
+
+ Gets the parent .
+ If there is no parent, is returned.
+ A parent can either be a or a .
+
+
+ Gets the root .
+
+
+ Options to control behavior.
+
+
+ Gets or sets a value that indicates whether property names on are case insensitive.
+
+ if property names are case insensitive; if property names are case sensitive.
+
+
+ Represents a mutable JSON object.
+
+
+ Initializes a new instance of the class that contains the specified .
+ The properties to be added.
+ Options to control the behavior.
+
+
+ Initializes a new instance of the class that is empty.
+ Options to control the behavior.
+
+
+ Adds the specified property to the .
+ The KeyValuePair structure representing the property name and value to add to the .
+ An element with the same property name already exists in the .
+ The property name of is .
+
+
+ Adds an element with the provided property name and value to the .
+ The property name of the element to add.
+ The value of the element to add.
+
+ is .
+ An element with the same property name already exists in the .
+
+
+ Removes all elements from the .
+
+
+ Determines whether the contains an element with the specified property name.
+ The property name to locate in the .
+
+ is .
+
+ if the contains an element with the specified property name; otherwise, .
+
+
+ Initializes a new instance of the class that contains properties from the specified .
+ The .
+ Options to control the behavior.
+ The new instance of the class that contains properties from the specified .
+
+
+ Returns an enumerator that iterates through the .
+ An enumerator that iterates through the .
+
+
+ Removes the element with the specified property name from the .
+ The property name of the element to remove.
+
+ is .
+
+ if the element is successfully removed; otherwise, .
+
+
+ Determines whether the contains a specific property name and reference.
+ The element to locate in the .
+
+ if the contains an element with the property name; otherwise, .
+
+
+ Copies the elements of the to an array of type KeyValuePair starting at the specified array index.
+ The one-dimensional Array that is the destination of the elements copied from .
+ The zero-based index in at which copying begins.
+
+ is .
+
+ is less than 0.
+ The number of elements in the source ICollection is greater than the available space from to the end of the destination .
+
+
+ Removes a key and value from the .
+ The KeyValuePair structure representing the property name and value to remove from the .
+
+ if the element is successfully removed; otherwise, .
+
+
+ Gets the value associated with the specified property name.
+ The property name of the value to get.
+ When this method returns, contains the value associated with the specified property name, if the property name is found; otherwise, .
+
+ is .
+
+ if the contains an element with the specified property name; otherwise, .
+
+
+ Returns an enumerator that iterates through the .
+ An enumerator that iterates through the .
+
+
+ Returns the value of a property with the specified name.
+ The name of the property to return.
+ The JSON value of the property with the specified name.
+
+ if a property with the specified name was found; otherwise, .
+
+
+ Writes the into the provided as JSON.
+ The .
+ Options to control the serialization behavior.
+
+
+ Gets the number of elements contained in .
+ The number of elements contained in the .
+
+
+ Returns .
+
+ if the is read-only; otherwise, .
+
+
+ Gets a collection containing the property names in the .
+ An containing the keys of the object that implements .
+
+
+ Gets a collection containing the property values in the .
+ An containing the values in the object that implements .
+
+
+ Represents a mutable JSON value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The underlying value of the new instance.
+ Options to control the behavior.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The value to create.
+ Options to control the behavior.
+ The type of value to create.
+ The new instance of the class that contains the specified value.
+
+
+ Initializes a new instance of the class that contains the specified value.
+ The value to create.
+ The that will be used to serialize the value.
+ Options to control the behavior.
+ The type of value to create.
+ The new instance of the class that contains the specified value.
+
+
+ Tries to obtain the current JSON value and returns a value that indicates whether the operation succeeded.
+ When this method returns, contains the parsed value.
+ The type of value to obtain.
+
+ if the value can be successfully obtained; otherwise, .
+
+
+ Specifies that the JSON type should have its method called after deserialization occurs.
+
+
+ The method that is called after deserialization.
+
+
+ Specifies that the type should have its method called before deserialization occurs.
+
+
+ The method that is called before deserialization.
+
+
+ Specifies that the type should have its method called after serialization occurs.
+
+
+ The method that is called after serialization.
+
+
+ Specifies that the type should have its method called before serialization occurs.
+
+
+ The method that is called before serialization.
+
+
+ Provides the base class for serialization attributes.
+
+
+ Creates a new instance of the .
+
+
+ When placed on a constructor, indicates that the constructor should be used to create instances of the type on deserialization.
+
+
+ Initializes a new instance of .
+
+
+ Converts an object or value to or from JSON.
+
+
+ When overridden in a derived class, determines whether the converter instance can convert the specified object type.
+ The type of the object to check whether it can be converted by this converter instance.
+
+ if the instance can convert the specified object type; otherwise, .
+
+
+ Gets the type being converted by the current converter instance.
+
+
+ Converts an object or value to or from JSON.
+ The type of object or value handled by the converter.
+
+
+ Initializes a new instance.
+
+
+ Determines whether the specified type can be converted.
+ The type to compare against.
+
+ if the type can be converted; otherwise, .
+
+
+ Reads and converts the JSON to type .
+ The reader.
+ The type to convert.
+ An object that specifies serialization options to use.
+ The converted value.
+
+
+ Reads a dictionary key from a JSON property name.
+ The to read from.
+ The type to convert.
+ The options to use when reading the value.
+ The value that was converted.
+
+
+ Writes a specified value as JSON.
+ The writer to write to.
+ The value to convert to JSON.
+ An object that specifies serialization options to use.
+
+
+ Writes a dictionary key as a JSON property name.
+ The to write to.
+ The value to convert. The value of determines if the converter handles values.
+ The options to use when writing the value.
+
+
+ Gets a value that indicates whether should be passed to the converter on serialization, and whether should be passed on deserialization.
+
+
+ Gets the type being converted by the current converter instance.
+
+
+ When placed on a property or type, specifies the converter type to use.
+
+
+ Initializes a new instance of .
+
+
+ Initializes a new instance of with the specified converter type.
+ The type of the converter.
+
+
+ When overridden in a derived class and is , allows the derived class to create a in order to pass additional state.
+ The type of the converter.
+ The custom converter.
+
+
+ Gets the type of the , or if it was created without a type.
+ The type of the , or if it was created without a type.
+
+
+ Supports converting several types by using a factory pattern.
+
+
+ When overridden in a derived class, initializes a new instance of the class.
+
+
+ Creates a converter for a specified type.
+ The type handled by the converter.
+ The serialization options to use.
+ A converter for which is compatible with .
+
+
+ Gets the type being converted by the current converter instance.
+
+
+ When placed on a type declaration, indicates that the specified subtype should be opted into polymorphic serialization.
+
+
+ Initializes a new attribute with specified parameters.
+ A derived type that should be supported in polymorphic serialization of the declared based type.
+
+
+ Initializes a new attribute with specified parameters.
+ A derived type that should be supported in polymorphic serialization of the declared base type.
+ The type discriminator identifier to be used for the serialization of the subtype.
+
+
+ Initializes a new attribute with specified parameters.
+ A derived type that should be supported in polymorphic serialization of the declared base type.
+ The type discriminator identifier to be used for the serialization of the subtype.
+
+
+ A derived type that should be supported in polymorphic serialization of the declared base type.
+
+
+ The type discriminator identifier to be used for the serialization of the subtype.
+
+
+ When placed on a property of type , any properties that do not have a matching member are added to that dictionary during deserialization and written during serialization.
+
+
+ Initializes a new instance of the class.
+
+
+ Prevents a property from being serialized or deserialized.
+
+
+ Initializes a new instance of .
+
+
+ Gets or sets the condition that must be met before a property will be ignored.
+
+
+ Controls how the ignores properties on serialization and deserialization.
+
+
+ Property is always ignored.
+
+
+ Property is always serialized and deserialized, regardless of configuration.
+
+
+ Property is ignored only if it equals the default value for its type.
+
+
+ Property is ignored if its value is . This is applied only to reference-type properties and fields.
+
+
+ Indicates that the member should be included for serialization and deserialization.
+ The attribute is applied to a non-public property.
+
+
+ Initializes a new instance of .
+
+
+ The to be used at run time.
+
+
+ Specifies that the built-in be used to convert JSON property names.
+
+
+ Specifies that the built-in be used to convert JSON property names.
+
+
+ Specifies that the built-in policy be used to convert JSON property names.
+
+
+ Specifies that the built-in policy be used to convert JSON property names.
+
+
+ Specifies that the built-in policy be used to convert JSON property names.
+
+
+ Specifies that JSON property names should not be converted.
+
+
+ Converter to convert enums to and from numeric values.
+ The enum type that this converter targets.
+
+
+ Initializes a new instance of .
+
+
+ When overridden in a derived class, determines whether the converter instance can convert the specified object type.
+ The type of the object to check whether it can be converted by this converter instance.
+
+ true
if the instance can convert the specified object type; otherwise, false
.
+
+
+ Creates a converter for a specified type.
+ The type handled by the converter.
+ The serialization options to use.
+ A converter for which T
is compatible with typeToConvert
.
+
+
+ Determines how handles numbers when serializing and deserializing.
+
+
+ The "NaN", "Infinity", and "-Infinity" tokens can be read as floating-point constants, and the and values for these constants will be written as their corresponding JSON string representations.
+
+
+ Numbers can be read from tokens. Does not prevent numbers from being read from token.
+
+
+ Numbers will only be read from tokens and will only be written as JSON numbers (without quotes).
+
+
+ Numbers will be written as JSON strings (with quotes), not as JSON numbers.
+
+
+ When placed on a type, property, or field, indicates what settings should be used when serializing or deserializing numbers.
+
+
+ Initializes a new instance of .
+ A bitwise combination of the enumeration values that specify how number types should be handled when serializing or deserializing.
+
+
+ Indicates what settings should be used when serializing or deserializing numbers.
+ An object that determines the number serialization and deserialization settings.
+
+
+ Determines how deserialization will handle object creation for fields or properties.
+
+
+ Attempt to populate any instances already found on a deserialized field or property.
+
+
+ A new instance will always be created when deserializing a field or property.
+
+
+ Determines how deserialization handles object creation for fields or properties.
+
+
+ Initializes a new instance of .
+ The handling to apply to the current member.
+
+
+ Gets the configuration to use when deserializing members.
+
+
+ When placed on a type, indicates that the type should be serialized polymorphically.
+
+
+ Creates a new instance.
+
+
+ Gets or sets a value that indicates whether the deserializer should ignore any unrecognized type discriminator IDs and revert to the contract of the base type.
+
+ to instruct the deserializer to ignore any unrecognized type discriminator IDs and revert to the contract of the base type; to fail the deserialization for unrecognized type discriminator IDs.
+
+
+ Gets or sets a custom type discriminator property name for the polymorhic type.
+ Uses the default '$type' property name if left unset.
+
+
+ Gets or sets the behavior when serializing an undeclared derived runtime type.
+
+
+ Specifies the property name that is present in the JSON when serializing and deserializing. This overrides any naming policy specified by .
+
+
+ Initializes a new instance of with the specified property name.
+ The name of the property.
+
+
+ Gets the name of the property.
+ The name of the property.
+
+
+ Specifies the property order that is present in the JSON when serializing. Lower values are serialized first.
+ If the attribute is not specified, the default value is 0.
+
+
+ Initializes a new instance of with the specified order.
+ The order of the property.
+
+
+ Gets the serialization order of the property.
+ The serialization order of the property.
+
+
+ Indicates that the annotated member must bind to a JSON property on deserialization.
+
+
+ Initializes a new instance of .
+
+
+ Instructs the System.Text.Json source generator to generate source code to help optimize performance when serializing and deserializing instances of the specified type and types in its object graph.
+
+
+ Initializes a new instance of with the specified type.
+ The type to generate source code for.
+
+
+ Gets or sets the mode that indicates what the source generator should generate for the type. If the value is , then the setting specified on will be used.
+
+
+ Gets or sets the name of the property for the generated for the type on the generated, derived type.
+
+
+ Provides metadata about a set of types that is relevant to JSON serialization.
+
+
+ Creates an instance of and binds it with the indicated .
+ The run time provided options for the context instance.
+
+
+ Gets metadata for the specified type.
+ The type to fetch metadata for.
+ The metadata for the specified type, or if the context has no metadata for the type.
+
+
+ Resolves a contract for the requested type and options.
+ The type to be resolved.
+ The configuration to use when resolving the metadata.
+ A instance matching the requested type, or if no contract could be resolved.
+
+
+ Gets the default run-time options for the context.
+
+
+ Gets the run-time specified options of the context. If no options were passed when instantiating the context, then a new instance is bound and returned.
+
+
+ The generation mode for the System.Text.Json source generator.
+
+
+ When specified on , indicates that both type-metadata initialization logic and optimized serialization logic should be generated for all types. When specified on , indicates that the setting on should be used.
+
+
+ Instructs the JSON source generator to generate type-metadata initialization logic.
+
+
+ Instructs the JSON source generator to generate optimized serialization logic.
+
+
+ Instructs the System.Text.Json source generator to assume the specified options will be used at run time via .
+
+
+ Initializes a new instance of .
+
+
+ Constructs a new instance with a predefined set of options determined by the specified .
+ The to reason about.
+
+ is invalid.
+
+
+ Gets or sets the default value of .
+
+
+ Gets or sets the default value of .
+
+
+ Gets or sets the default value of .
+
+
+ Gets or sets the default ignore condition.
+
+
+ Gets or sets the default value of .
+
+
+ Gets or sets the source generation mode for types that don't explicitly set the mode with .
+
+
+ Gets or sets a value that indicates whether to ignore read-only fields.
+
+
+ Gets or sets a value that indicates whether to ignore read-only properties.
+
+
+ Gets or sets a value that indicates whether to include fields for serialization and deserialization.
+
+
+ Gets or sets the default value of .
+
+
+ Gets or sets the default value of .
+
+
+ Gets or sets the default value of .
+
+
+ Gets or sets the default value of .
+
+
+ Gets or sets a built-in naming policy to convert JSON property names with.
+
+
+ Gets or sets the default value of .
+
+
+ Gets or sets the default value of .
+
+
+ Gets or sets the default value of .
+
+
+ Gets or sets a value that indicates whether the source generator defaults to instead of numeric serialization for all enum types encountered in its type graph.
+
+
+ Gets or sets a value that indicates whether JSON output is pretty-printed.
+
+
+ Converts enumeration values to and from strings.
+
+
+ Initializes an instance of the class with the default naming policy that allows integer values.
+
+
+ Initializes an instance of the class with a specified naming policy and a value that indicates whether undefined enumeration values are allowed.
+ The optional naming policy for writing enum values.
+
+ to allow undefined enum values; otherwise, . When , if an enum value isn't defined, it will output as a number rather than a string.
+
+
+ Determines whether the specified type can be converted to an enum.
+ The type to be checked.
+
+ true
if the type can be converted; otherwise, false
.
+
+
+ Creates a converter for the specified type.
+ The type handled by the converter.
+ The serialization options to use.
+ A converter for which T
is compatible with typeToConvert
.
+
+
+ Converter to convert enums to and from strings.
+ The enum type that this converter targets.
+
+
+ Initializes a new instance of with the default naming policy and that allows integer values.
+
+
+ Initializes a new instance of .
+ Optional naming policy for writing enum values.
+
+ to allow undefined enum values. When , if an enum value isn't defined, it outputs as a number rather than a string.
+
+
+ When overridden in a derived class, determines whether the converter instance can convert the specified object type.
+ The type of the object to check whether it can be converted by this converter instance.
+
+ true
if the instance can convert the specified object type; otherwise, false
.
+
+
+ Creates a converter for a specified type.
+ The type handled by the converter.
+ The serialization options to use.
+ A converter for which T
is compatible with typeToConvert
.
+
+
+ Defines how objects of a derived runtime type that has not been explicitly declared for polymorphic serialization should be handled.
+
+
+ An object of undeclared runtime type will fail polymorphic serialization.
+
+
+ An object of undeclared runtime type will fall back to the serialization contract of the base type.
+
+
+ An object of undeclared runtime type will revert to the serialization contract of the nearest declared ancestor type.
+ Certain interface hierarchies are not supported due to diamond ambiguity constraints.
+
+
+ Defines how deserializing a type declared as an is handled during deserialization.
+
+
+ A type declared as is deserialized as a .
+
+
+ A type declared as is deserialized as a .
+
+
+ Determines how handles JSON properties that cannot be mapped to a specific .NET member when deserializing object types.
+
+
+ Throws an exception when an unmapped property is encountered.
+
+
+ Silently skips any unmapped properties. This is the default behavior.
+
+
+ When placed on a type, determines the configuration for the specific type, overriding the global setting.
+
+
+ Initializes a new instance of .
+ The handling to apply to the current member.
+
+
+ Gets the unmapped member handling setting for the attribute.
+
+
+ Defines the default, reflection-based JSON contract resolver used by System.Text.Json.
+
+
+ Creates a mutable instance.
+
+
+ Resolves a JSON contract for a given and configuration.
+ The type for which to resolve a JSON contract.
+ A instance used to determine contract configuration.
+
+ or is .
+ A defining a reflection-derived JSON contract for .
+
+
+ Gets a list of user-defined callbacks that can be used to modify the initial contract.
+
+
+ Used to resolve the JSON serialization contract for requested types.
+
+
+ Resolves a contract for the requested type and options.
+ Type to be resolved.
+ Configuration used when resolving the metadata.
+ A instance matching the requested type, or if no contract could be resolved.
+
+
+ Provides serialization metadata about a collection type.
+ The collection type.
+
+
+
+ A instance representing the element type.
+
+
+ If a dictionary type, the instance representing the key type.
+
+
+ The option to apply to number collection elements.
+
+
+ A to create an instance of the collection when deserializing.
+
+
+ An optimized serialization implementation assuming pre-determined defaults.
+
+
+ Represents a supported derived type defined in the metadata of a polymorphic type.
+
+
+ Initializes a new instance of the class that represents a supported derived type without a type discriminator.
+ The derived type to be supported by the polymorphic type metadata.
+
+
+ Initializes a new instance of the class that represents a supported derived type with an integer type discriminator.
+ The derived type to be supported by the polymorphic type metadata.
+ The type discriminator to be associated with the derived type.
+
+
+ Initializes a new instance of the class that represents a supported derived type with a string type discriminator.
+ The derived type to be supported by the polymorphic type metadata.
+ The type discriminator to be associated with the derived type.
+
+
+ Gets a derived type that should be supported in polymorphic serialization of the declared base type.
+
+
+ Gets the type discriminator identifier to be used for the serialization of the subtype.
+
+
+ Provides helpers to create and initialize metadata for JSON-serializable types.
+
+
+ Creates serialization metadata for an array.
+ The serialization and deserialization options to use.
+ Provides serialization metadata about the collection type.
+ The generic definition of the element type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for types assignable to .
+ The serialization and deserialization options to use.
+ Provides serialization metadata about the collection type.
+ The generic definition of the type.
+ The generic definition of the element type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for types assignable to .
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ The generic definition of the type.
+ The generic definition of the element type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for types assignable to .
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ The generic definition of the type.
+ The generic definition of the key type.
+ The generic definition of the value type.
+ Serialization metadata for the given type.
+
+
+ Creates serialization metadata for types assignable to .
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ The generic definition of the type.
+ The generic definition of the element type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for types assignable to .
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ The generic definition of the type.
+ The generic definition of the element type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for types assignable to .
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ The generic definition of the type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for types assignable to .
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ The generic definition of the type.
+ The generic definition of the key type.
+ The generic definition of the value type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for types assignable to .
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ The generic definition of the type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for types assignable to .
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ The generic definition of the type.
+ The generic definition of the element type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for types assignable to .
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ The generic definition of the type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for types assignable to .
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ The generic definition of the type.
+ The generic definition of the element type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for and types assignable to .
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ A method to create an immutable dictionary instance.
+ The generic definition of the type.
+ The generic definition of the key type.
+ The generic definition of the value type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for non-dictionary immutable collection types.
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ A method to create an immutable dictionary instance.
+ The generic definition of the type.
+ The generic definition of the element type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for types assignable to .
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ The generic definition of the type.
+ The generic definition of the key type.
+ The generic definition of the value type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for types assignable to .
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ The generic definition of the type.
+ The generic definition of the element type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for types assignable to .
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ The generic definition of the type.
+ The generic definition of the element type.
+ Serialization metadata for the given type.
+
+
+ Creates serialization metadata for .
+ The to use.
+ Provides serialization metadata about the collection type.
+ The generic definition of the element type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for a complex class or struct.
+ The to use for serialization and deserialization.
+ Provides serialization metadata about an object type with constructors, properties, and fields.
+ The type of the class or struct.
+
+ or is .
+ A instance representing the class or struct.
+
+
+ Creates metadata for a property or field.
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the property or field.
+ The type that the converter for the property returns or accepts when converting JSON data.
+ A instance initialized with the provided metadata.
+
+
+ Creates metadata for types assignable to .
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ A method for adding elements to the collection when using the serializer's code-paths.
+ The generic definition of the type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for types assignable to .
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ The generic definition of the type.
+ The generic definition of the element type.
+ Serialization metadata for the given type.
+
+
+ Creates serialization metadata for .
+ The to use.
+ Provides serialization metadata about the collection type.
+ The generic definition of the element type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for types assignable to .
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ A method for adding elements to the collection when using the serializer's code-paths.
+ The generic definition of the type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for types assignable to .
+ The to use for serialization and deserialization.
+ Provides serialization metadata about the collection type.
+ The generic definition of the type.
+ The generic definition of the element type.
+ Serialization metadata for the given type.
+
+
+ Creates metadata for a primitive or a type with a custom converter.
+ The to use for serialization and deserialization.
+
+ The generic type definition.
+ A instance representing the type.
+
+
+ Creates a instance that converts values.
+ The to use for serialization and deserialization.
+ The generic definition for the enum type.
+ A instance that converts values.
+
+
+ Creates a instance that converts values.
+ The to use for serialization and deserialization.
+ The generic definition for the underlying nullable type.
+ A instance that converts values
+
+
+ Creates a instance that converts values.
+ Serialization metadata for the underlying nullable type.
+ The generic definition for the underlying nullable type.
+ A instance that converts values
+
+
+ Gets a type converter that throws a .
+ The generic definition for the type.
+ A instance that throws
+
+
+ Gets an object that converts values.
+
+
+ Gets an object that converts byte array values.
+
+
+ Gets an object that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Returns a instance that converts values.
+
+
+ Gets an object that converts values.
+ An instance that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Returns a instance that converts values.
+
+
+ Returns a instance that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Returns a instance that converts values.
+
+
+ Gets a JSON converter that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Returns a instance that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Returns a instance that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Returns a instance that converts values.
+
+
+ Gets a JSON converter that converts values.
+
+
+ Returns a instance that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Gets an object that converts values.
+
+
+ Provides serialization metadata about an object type with constructors, properties, and fields.
+ The object type to serialize or deserialize.
+
+
+
+ Provides a mechanism to initialize metadata for a parameterized constructor of the class or struct to be used when deserializing.
+
+
+ Gets or sets an object that specifies how number properties and fields should be processed when serializing and deserializing.
+
+
+ Gets or sets a mechanism to create an instance of the class or struct using a parameterless constructor during deserialization.
+
+
+ Gets or sets a mechanism to create an instance of the class or struct using a parameterized constructor during deserialization.
+
+
+ Gets or sets a mechanism to initialize metadata for properties and fields of the class or struct.
+
+
+ Gets or sets a serialization implementation for instances of the class or struct that assumes options specified by .
+
+
+ Provides information about a constructor parameter required for JSON deserialization.
+
+
+
+ Gets or sets the default value of the parameter.
+
+
+ Gets or sets a value that specifies whether a default value was specified for the parameter.
+
+
+ Gets or sets the name of the parameter.
+
+
+ Gets or sets the type of the parameter.
+
+
+ Gets or sets the zero-based position of the parameter in the formal parameter list.
+
+
+ Defines polymorphic configuration for a specified base type.
+
+
+ Creates an empty instance.
+
+
+ Gets the list of derived types supported in the current polymorphic type configuration.
+
+
+ Gets or sets a value that indicates whether the serializer should ignore any unrecognized type discriminator IDs and revert to the contract of the base type.
+ The parent instance has been locked for further modification.
+
+ if the serializer should ignore any unrecognized type discriminator IDs and revert to the contract of the base type; if the deserialization should fail when an unrecognized type discriminator ID is encountered.
+
+
+ Gets or sets a custom type discriminator property name for the polymorhic type.
+ Uses the default '$type' property name if left unset.
+ The parent instance has been locked for further modification.
+
+
+ Gets or sets the behavior when serializing an undeclared derived runtime type.
+ The parent instance has been locked for further modification.
+
+
+ Provides JSON serialization-related metadata about a property or field.
+
+
+ Gets or sets the custom attribute provider for the current property.
+ The instance has been locked for further modification.
+
+
+ Gets or sets a custom converter override for the current property.
+ The instance has been locked for further modification.
+
+
+ Gets or sets a getter delegate for the property.
+ The instance has been locked for further modification.
+
+
+ Gets or sets a value that indicates whether the current property is a special extension data property.
+ The instance has been locked for further modification.
+
+-or-
+
+The current is not valid for use with extension data.
+
+
+ Gets or sets a value that indicates whether the current property is required for deserialization to be successful.
+ The instance has been locked for further modification.
+
+
+ Gets or sets the JSON property name used when serializing the property.
+
+ is .
+ The instance has been locked for further modification.
+
+
+ Gets or sets the applied to the current property.
+ The instance has been locked for further modification.
+
+
+ Gets or sets a value indicating if the property or field should be replaced or populated during deserialization.
+
+
+ Gets the value associated with the current contract instance.
+
+
+ Gets or sets the serialization order for the current property.
+ The instance has been locked for further modification.
+
+
+ Gets the type of the current property.
+
+
+ Gets or sets a setter delegate for the property.
+ The instance has been locked for further modification.
+
+
+ Gets or sets a predicate that determines whether the current property value should be serialized.
+ The instance has been locked for further modification.
+
+
+ Provides serialization metadata about a property or field.
+ The type to convert of the for the property.
+
+
+
+ A for the property or field, specified by .
+
+
+ The declaring type of the property or field.
+
+
+ Provides a mechanism to get the property or field's value.
+
+
+ Whether the property was annotated with .
+
+
+ Specifies a condition for the member to be ignored.
+
+
+ Whether the property was annotated with .
+
+
+ If , indicates that the member is a property, otherwise indicates the member is a field.
+
+
+ Whether the property or field is public.
+
+
+ Whether the property or field is a virtual property.
+
+
+ The name to be used when processing the property or field, specified by .
+
+
+ If the property or field is a number, specifies how it should processed when serializing and deserializing.
+
+
+ The name of the property or field.
+
+
+ The info for the property or field's type.
+
+
+ Provides a mechanism to set the property or field's value.
+
+
+ Provides JSON serialization-related metadata about a type.
+
+
+ Creates a blank instance for the current .
+ The declared type for the property.
+ The property name used in JSON serialization and deserialization.
+
+ or is .
+
+ cannot be used for serialization.
+ The instance has been locked for further modification.
+ A blank instance.
+
+
+ Creates a blank instance.
+ The type for which contract metadata is specified.
+ The instance the metadata is associated with.
+
+ or is .
+
+ cannot be used for serialization.
+ A blank instance.
+
+
+ Creates a blank instance.
+ The instance the metadata is associated with.
+ The type for which contract metadata is specified.
+
+ is .
+ A blank instance.
+
+
+ Locks the current instance for further modification.
+
+
+ Gets the associated with the current type.
+
+
+ Gets or sets a parameterless factory to be used on deserialization.
+ The instance has been locked for further modification.
+
+-or-
+
+A parameterless factory is not supported for the current metadata .
+
+
+ Gets a value that indicates whether the current instance has been locked for modification.
+
+
+ Gets a value that describes the kind of contract metadata that the current instance specifies.
+
+
+ Gets or sets the type-level override.
+ The instance has been locked for further modification.
+ An invalid value was specified.
+
+
+ Gets or sets a callback to be invoked after deserialization occurs.
+ The instance has been locked for further modification.
+
+-or-
+
+Serialization callbacks are only supported for metadata.
+
+
+ Gets or sets a callback to be invoked before deserialization occurs.
+ The instance has been locked for further modification.
+
+-or-
+
+Serialization callbacks are only supported for metadata.
+
+
+ Gets or sets a callback to be invoked after serialization occurs.
+ The instance has been locked for further modification.
+
+-or-
+
+Serialization callbacks are only supported for metadata.
+
+
+ Gets or sets a callback to be invoked before serialization occurs.
+ The instance has been locked for further modification.
+
+-or-
+
+Serialization callbacks are only supported for metadata.
+
+
+ Gets the value associated with the current instance.
+
+
+ Gets or sets the from which this metadata instance originated.
+ The instance has been locked for further modification.
+
+
+ Gets or sets a configuration object specifying polymorphism metadata.
+
+ has been associated with a different instance.
+ The instance has been locked for further modification.
+
+-or-
+
+Polymorphic serialization is not supported for the current metadata .
+
+
+ Gets or sets the preferred value for properties contained in the type.
+ The instance has been locked for further modification.
+
+-or-
+
+Unmapped member handling is only supported for JsonTypeInfoKind.Object.
+ Specified an invalid value.
+
+
+ Gets the list of metadata corresponding to the current type.
+
+
+ Gets the for which the JSON serialization contract is being defined.
+
+
+ Gets or sets the type-level override.
+ The instance has been locked for further modification.
+
+-or-
+
+Unmapped member handling is only supported for .
+ An invalid value was specified.
+
+
+ Provides JSON serialization-related metadata about a type.
+ The generic definition of the type.
+
+
+ Gets or sets a parameterless factory to be used on deserialization.
+ The instance has been locked for further modification.
+
+-or-
+
+A parameterless factory is not supported for the current metadata .
+
+
+ Serializes an instance of using values specified at design time.
+
+
+ Describes the kind of contract metadata a specifies.
+
+
+ Type is serialized as a dictionary with key/value pair entries.
+
+
+ Type is serialized as a collection with elements.
+
+
+ Type is either a simple value or uses a custom converter.
+
+
+ Type is serialized as an object with properties.
+
+
+ Contains utilities and combinators acting on .
+
+
+ Combines multiple sources into one.
+ Sequence of contract resolvers to be queried for metadata.
+
+ is .
+ A combining results from .
+
+
+ Creates a resolver and applies modifications to the metadata generated by the source .
+ The source resolver generating metadata.
+ The delegate that modifies non- results.
+ A new instance with modifications applied.
+
+
+ Defines how the deals with references on serialization and deserialization.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns the used for each serialization call.
+ The resolver to use for serialization and deserialization.
+
+
+ Gets an object that indicates whether an object is ignored when a reference cycle is detected during serialization.
+
+
+ Gets an object that indicates whether metadata properties are honored when JSON objects and arrays are deserialized into reference types, and written when reference types are serialized. This is necessary to create round-trippable JSON from objects that contain cycles or duplicate references.
+
+
+ Defines how the deals with references on serialization and deserialization.
+ The type of the to create on each serialization or deserialization call.
+
+
+ Initializes a new instance of the generic class that can create a instance of the specified type.
+
+
+ Creates a new of type used for each serialization call.
+ The new resolver to use for serialization and deserialization.
+
+
+ Defines how the deals with references on serialization and deserialization.
+ Defines the core behavior of preserving references on serialization and deserialization.
+
+
+ Initializes a new instance of the class.
+
+
+ Adds an entry to the bag of references using the specified id and value.
+ This method gets called when an $id metadata property from a JSON object is read.
+ The identifier of the JSON object or array.
+ The value of the CLR reference type object that results from parsing the JSON object.
+
+
+ Gets the reference identifier of the specified value if exists; otherwise a new id is assigned.
+ This method gets called before a CLR object is written so we can decide whether to write $id and enumerate the rest of its properties or $ref and step into the next object.
+ The value of the CLR reference type object to get an id for.
+ When this method returns, if a reference to value already exists; otherwise, .
+ The reference id for the specified object.
+
+
+ Returns the CLR reference type object related to the specified reference id.
+ This method gets called when $ref metadata property is read.
+ The reference id related to the returned object.
+ The reference type object related to the specified reference id.
+
+
+ Provides a high-performance API for forward-only, read-only access to UTF-8 encoded JSON text.
+
+
+ Initializes a new instance of the structure that processes a read-only sequence of UTF-8 encoded text and indicates whether the input contains all the text to process.
+ The UTF-8 encoded JSON text to process.
+
+ to indicate that the input sequence contains the entire data to process; to indicate that the input span contains partial data with more data to follow.
+ The reader state. If this is the first call to the constructor, pass the default state; otherwise, pass the value of the property from the previous instance of the .
+
+
+ Initializes a new instance of the structure that processes a read-only sequence of UTF-8 encoded text using the specified options.
+ The UTF-8 encoded JSON text to process.
+ Options that define customized behavior of the that differs from the JSON RFC (for example, how to handle comments or maximum depth allowed when reading). By default, the follows the JSON RFC strictly; comments within the JSON are invalid, and the maximum depth is 64.
+
+
+ Initializes a new instance of the structure that processes a read-only span of UTF-8 encoded text and indicates whether the input contains all the text to process.
+ The UTF-8 encoded JSON text to process.
+
+ to indicate that the input sequence contains the entire data to process; to indicate that the input span contains partial data with more data to follow.
+ The reader state. If this is the first call to the constructor, pass the default state; otherwise, pass the value of the property from the previous instance of the .
+
+
+ Initializes a new instance of the structure that processes a read-only span of UTF-8 encoded text using the specified options.
+ The UTF-8 encoded JSON text to process.
+ Options that define customized behavior of the that differs from the JSON RFC (for example, how to handle comments or maximum depth allowed when reading). By default, the follows the JSON RFC strictly; comments within the JSON are invalid, and the maximum depth is 64.
+
+
+ Copies the current JSON token value from the source, unescaped, as UTF-8 bytes to a buffer.
+ A buffer to write the unescaped UTF-8 bytes into.
+ The JSON token is not a string, that is, it's not or .
+
+-or-
+
+The JSON string contains invalid UTF-8 bytes or invalid UTF-16 surrogates.
+ The destination buffer is too small to hold the unescaped value.
+ The number of bytes written to .
+
+
+ Copies the current JSON token value from the source, unescaped, as UTF-16 characters to a buffer.
+ A buffer to write the transcoded UTF-16 characters into.
+ The JSON token is not a string, that is, it's not or .
+
+-or-
+
+The JSON string contains invalid UTF-8 bytes or invalid UTF-16 surrogates.
+ The destination buffer is too small to hold the unescaped value.
+ The number of characters written to .
+
+
+ Reads the next JSON token value from the source as a .
+ The value of the JSON token isn't a Boolean value (that is, or ).
+
+ if the is ; if the is .
+
+
+ Parses the current JSON token value from the source as a .
+ The value of the JSON token is not a .
+ The numeric format of the JSON token value is incorrect (for example, it contains a fractional value or is written in scientific notation).
+
+-or-
+
+The JSON token value represents a number less than Byte.MinValue or greater than Byte.MaxValue.
+ The value of the UTF-8 encoded token.
+
+
+ Parses the current JSON token value from the source and decodes the Base64 encoded JSON string as a byte array.
+ The type of the JSON token is not a .
+ The value is not encoded as Base64 text, so it can't be decoded to bytes.
+
+-or-
+
+The value contains invalid or more than two padding characters.
+
+-or-
+
+The value is incomplete. That is, the JSON string length is not a multiple of 4.
+ The byte array that represents the current JSON token value.
+
+
+ Parses the current JSON token value from the source as a comment and transcodes it as a .
+ The JSON token is not a comment.
+ The comment that represents the current JSON token value.
+
+
+ Reads the next JSON token value from the source and parses it to a .
+ The value of the JSON token isn't a .
+ The JSON token value cannot be read as a .
+
+-or-
+
+The entire UTF-8 encoded token value cannot be parsed to a value.
+
+-or-
+
+The JSON token value is of an unsupported format.
+ The date and time value, if the entire UTF-8 encoded token value can be successfully parsed.
+
+
+ Reads the next JSON token value from the source and parses it to a .
+ The value of the JSON token isn't a .
+ The JSON token value cannot be read as a .
+
+-or-
+
+The entire UTF-8 encoded token value cannot be parsed to a value.
+
+-or-
+
+The JSON token value is of an unsupported format.
+ The date and time offset, if the entire UTF-8 encoded token value can be successfully parsed.
+
+
+ Reads the next JSON token value from the source and parses it to a .
+ The JSON token value isn't a .
+ The JSON token value represents a number less than Decimal.MinValue or greater than Decimal.MaxValue.
+ The UTF-8 encoded token value parsed to a .
+
+
+ Reads the next JSON token value from the source and parses it to a .
+ The JSON token value isn't a .
+ The JSON token value represents a number less than Double.MinValue or greater than Double.MaxValue.
+ The UTF-8 encoded token value parsed to a .
+
+
+ Reads the next JSON token value from the source and parses it to a .
+ The value of the JSON token isn't a .
+ The JSON token value is in an unsupported format for a Guid.
+
+-or-
+
+The entire UTF-8 encoded token value cannot be parsed to a value.
+ The GUID value, if the entire UTF-8 encoded token value can be successfully parsed.
+
+
+ Parses the current JSON token value from the source as a .
+ The value of the JSON token is not a .
+ The numeric format of the JSON token value is incorrect (for example, it contains a fractional value or is written in scientific notation).
+
+-or-
+
+The JSON token value represents a number less than Int16.MinValue or greater than Int16.MaxValue.
+ The UTF-8 encoded token value parsed to an .
+
+
+ Reads the next JSON token value from the source and parses it to an .
+ The JSON token value isn't a .
+ The JSON token value is of the incorrect numeric format. For example, it contains a decimal or is written in scientific notation.
+
+-or-
+
+The JSON token value represents a number less than Int32.MinValue or greater than Int32.MaxValue.
+ The UTF-8 encoded token value parsed to an .
+
+
+ Reads the next JSON token value from the source and parses it to an .
+ The JSON token value isn't a .
+ The JSON token value is of the incorrect numeric format. For example, it contains a decimal or is written in scientific notation.
+
+-or-
+
+The JSON token value represents a number less than Int64.MinValue or greater than Int64.MaxValue.
+ The UTF-8 encoded token value parsed to an .
+
+
+ Parses the current JSON token value from the source as an .
+ The value of the JSON token is not a .
+ The numeric format of the JSON token value is incorrect (for example, it contains a fractional value or is written in scientific notation).
+
+-or-
+
+The JSON token value represents a number less than SByte.MinValue or greater than SByte.MaxValue.
+ The UTF-8 encoded token value parsed to an .
+
+
+ Reads the next JSON token value from the source and parses it to a .
+ The JSON token value isn't a .
+ The JSON token value represents a number less than Single.MinValue or greater than Single.MaxValue.
+ The UTF-8 encoded token value parsed to a .
+
+
+ Reads the next JSON token value from the source unescaped and transcodes it as a string.
+ The JSON token value isn't a string (that is, not a , , or ).
+
+-or-
+
+The JSON string contains invalid UTF-8 bytes or invalid UTF-16 surrogates.
+ The token value parsed to a string, or if is .
+
+
+ Parses the current JSON token value from the source as a .
+ The value of the JSON token is not a .
+ The numeric format of the JSON token value is incorrect (for example, it contains a fractional value or is written in scientific notation).
+
+-or-
+
+The JSON token value represents a number less than UInt16.MinValue or greater than UInt16.MaxValue.
+ The UTF-8 encoded token value parsed to a .
+
+
+ Reads the next JSON token value from the source and parses it to a .
+ The JSON token value isn't a .
+ The JSON token value is of the incorrect numeric format. For example, it contains a decimal or is written in scientific notation.
+
+-or-
+
+The JSON token value represents a number less than UInt32.MinValue or greater than UInt32.MaxValue.
+ The UTF-8 encoded token value parsed to a .
+
+
+ Reads the next JSON token value from the source and parses it to a .
+ The JSON token value isn't a .
+ The JSON token value is of the incorrect numeric format. For example, it contains a decimal or is written in scientific notation.
+
+-or-
+
+The JSON token value represents a number less than UInt64.MinValue or greater than UInt64.MaxValue.
+ The UTF-8 encoded token value parsed to a .
+
+
+ Reads the next JSON token from the input source.
+ An invalid JSON token according to the JSON RFC is encountered.
+
+-or-
+
+The current depth exceeds the recursive limit set by the maximum depth.
+
+ if the token was read successfully; otherwise, .
+
+
+ Skips the children of the current JSON token.
+ The reader was given partial data with more data to follow (that is, is ).
+ An invalid JSON token was encountered while skipping, according to the JSON RFC.
+
+-or-
+
+The current depth exceeds the recursive limit set by the maximum depth.
+
+
+ Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded.
+ When this method returns, contains the byte equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ The JSON token value isn't a .
+
+ if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, .
+
+
+ Tries to parse the current JSON token value from the source and decodes the Base64 encoded JSON string as a byte array and returns a value that indicates whether the operation succeeded.
+ When this method returns, contains the decoded binary representation of the Base64 text.
+ The JSON token is not a .
+
+ if the entire token value is encoded as valid Base64 text and can be successfully decoded to bytes; otherwise, .
+
+
+ Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded.
+ When this method returns, contains the date and time value equivalent to the current JSON string if the conversion succeeded, or if the conversion failed.
+ The value of the JSON token isn't a .
+
+ if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, .
+
+
+ Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded.
+ When this method returns, contains the date and time value equivalent to the current JSON string if the conversion succeeded, or if the conversion failed.
+ The value of the JSON token isn't a .
+
+ if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, .
+
+
+ Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded.
+ When this method returns, contains the decimal equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ The JSON token value isn't a .
+
+ if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, .
+
+
+ Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded.
+ When this method returns, contains a double-precision floating point value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ The JSON token value isn't a .
+
+ if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, .
+
+
+ Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded.
+ When this method returns, contains the GUID equivalent to the current JSON string if the conversion succeeded, or if the conversion failed.
+ The value of the JSON token isn't a .
+
+ if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, .
+
+
+ Tries to parse the current JSON token value from the source as an and returns a value that indicates whether the operation succeeded.
+ When this method returns, contains the 16-bit integer value equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ The JSON token value isn't a .
+
+ if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, .
+
+
+ Tries to parse the current JSON token value from the source as an and returns a value that indicates whether the operation succeeded.
+ When this method returns, contains the 32-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ The JSON token value isn't a .
+
+ if the entire UTF-8 encoded token value can be successfully parsed to an value; otherwise, .
+
+
+ Tries to parse the current JSON token value from the source as an and returns a value that indicates whether the operation succeeded.
+ When this method returns, contains the 64-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ The JSON token value isn't a .
+
+ if the entire UTF-8 encoded token value can be successfully parsed to an value; otherwise, .
+
+
+ Tries to parse the current JSON token value from the source as an and returns a value that indicates whether the operation succeeded.
+ When this method returns, contains the signed byte equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ The JSON token value isn't a .
+
+ if the entire UTF-8 encoded token value can be successfully parsed to an value; otherwise, .
+
+
+ Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded.
+ When this method returns, contains the single-precision floating point value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ The JSON token value isn't a .
+
+ if the entire UTF-8 encoded token value can be successfully parsed to an value; otherwise, .
+
+
+ Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded.
+ When this method returns, contains the unsigned 16-bit integer value equivalent of the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ The JSON token value isn't a .
+
+ if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, .
+
+
+ Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded.
+ When this method returns, contains unsigned 32-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ The JSON token value isn't a .
+
+ if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, .
+
+
+ Tries to parse the current JSON token value from the source as a and returns a value that indicates whether the operation succeeded.
+ When this method returns, contains unsigned 64-bit integer value equivalent to the current JSON number if the conversion succeeded, or 0 if the conversion failed.
+ The JSON token value isn't a .
+
+ if the entire UTF-8 encoded token value can be successfully parsed to a value; otherwise, .
+
+
+ Tries to skip the children of the current JSON token.
+ An invalid JSON token was encountered while skipping, according to the JSON RFC.
+
+-or -
+
+The current depth exceeds the recursive limit set by the maximum depth.
+
+ if there was enough data for the children to be skipped successfully; otherwise, .
+
+
+ Compares the UTF-8 encoded text in a read-only byte span to the unescaped JSON token value in the source and returns a value that indicates whether they match.
+ The UTF-8 encoded text to compare against.
+ The JSON token is not a JSON string (that is, it is not or ).
+
+ if the JSON token value in the source matches the UTF-8 encoded lookup text; otherwise, .
+
+
+ Compares the text in a read-only character span to the unescaped JSON token value in the source and returns a value that indicates whether they match.
+ The text to compare against.
+ The JSON token is not a JSON string (that is, it is not or ).
+
+ if the JSON token value in the source matches the lookup text; otherwise, .
+
+
+ Compares the string text to the unescaped JSON token value in the source and returns a value that indicates whether they match.
+ The text to compare against.
+ The JSON token is not a JSON string (that is, it is not or ).
+
+ if the JSON token value in the source matches the lookup text; otherwise, .
+
+
+ Gets the total number of bytes consumed so far by this instance of the .
+ The total number of bytes consumed so far.
+
+
+ Gets the depth of the current token.
+ The depth of the current token.
+
+
+ Gets the current state to pass to a constructor with more data.
+ The current reader state.
+
+
+ Gets a value that indicates which Value property to use to get the token value.
+
+ if should be used to get the token value; if should be used instead.
+
+
+ Gets a value that indicates whether all the JSON data was provided or there is more data to come.
+
+ if the reader was constructed with the input span or sequence containing the entire JSON data to process; if the reader was constructed with an input span or sequence that may contain partial JSON data with more data to follow.
+
+
+ Gets the current within the provided UTF-8 encoded input ReadOnlySequence<byte> or a default if the struct was constructed with a ReadOnlySpan<byte>.
+ The current within the provided UTF-8 encoded input ReadOnlySequence<byte> or a default if the struct was constructed with a ReadOnlySpan<byte>.
+
+
+ Gets the index that the last processed JSON token starts at (within the given UTF-8 encoded input text), skipping any white space.
+ The starting index of the last processed JSON token within the given UTF-8 encoded input text.
+
+
+ Gets the type of the last processed JSON token in the UTF-8 encoded JSON text.
+ The type of the last processed JSON token.
+
+
+ Gets a value that indicates whether the current or properties contain escape sequences per RFC 8259 section 7, and therefore require unescaping before being consumed.
+
+
+ Gets the raw value of the last processed token as a ReadOnlySequence<byte> slice of the input payload, only if the token is contained within multiple segments.
+ A byte read-only sequence.
+
+
+ Gets the raw value of the last processed token as a ReadOnlySpan<byte> slice of the input payload, if the token fits in a single segment or if the reader was constructed with a JSON payload contained in a ReadOnlySpan<byte>.
+ A read-only span of bytes.
+
+
+ Provides a high-performance API for forward-only, non-cached writing of UTF-8 encoded JSON text.
+
+
+ Initializes a new instance of the class using the specified to write the output to and customization options.
+ The destination for writing JSON text.
+ Defines the customized behavior of the . By default, it writes minimized JSON (with no extra white space) and validates that the JSON being written is structurally valid according to the JSON RFC.
+
+ is .
+
+
+ Initializes a new instance of the class using the specified stream to write the output to and customization options.
+ The destination for writing JSON text.
+ Defines the customized behavior of the . By default, it writes minimized JSON (with no extra white space) and validates that the JSON being written is structurally valid according to the JSON RFC.
+
+ is .
+
+
+ Commits any leftover JSON text that has not yet been flushed and releases all resources used by the current instance.
+
+
+ Asynchronously commits any leftover JSON text that has not yet been flushed and releases all resources used by the current instance.
+ A task representing the asynchronous dispose operation.
+
+
+ Commits the JSON text written so far, which makes it visible to the output destination.
+ This instance has been disposed.
+
+
+ Asynchronously commits the JSON text written so far, which makes it visible to the output destination.
+ The token to monitor for cancellation requests. The default value is .
+ This instance has been disposed.
+ A task representing the asynchronous flush operation.
+
+
+ Resets the internal state of this instance so that it can be reused.
+ This instance has been disposed.
+
+
+ Resets the internal state of this instance so that it can be reused with a new instance of .
+ The destination for writing JSON text.
+
+ is .
+ This instance has been disposed.
+
+
+ Resets the internal state of this instance so that it can be reused with a new instance of .
+ The destination for writing JSON text.
+
+ is .
+ This instance has been disposed.
+
+
+ Writes the property name and raw bytes value (as a Base64 encoded JSON string) as part of a name/value pair of a JSON object.
+ The UTF-8 encoded name of the property to write.
+ The binary data to write as Base64 encoded text.
+ The specified property name or value is too large.
+ Validation is enabled, and this method would result in writing invalid JSON.
+
+
+ Writes the property name and raw bytes value (as a Base64 encoded JSON string) as part of a name/value pair of a JSON object.
+ The property name of the JSON object to be transcoded and written as UTF-8.
+ The binary data to write as Base64 encoded text.
+ The specified property name or value is too large.
+ Validation is enabled, and this method would result in writing invalid JSON.
+
+
+ Writes the property name and raw bytes value (as a Base64 encoded JSON string) as part of a name/value pair of a JSON object.
+ The property name of the JSON object to be transcoded and written as UTF-8.
+ The binary data to write as Base64 encoded text.
+ The specified property name or value is too large.
+ Validation is enabled, and this method would result in writing invalid JSON.
+ The parameter is .
+
+
+ Writes the pre-encoded property name and raw bytes value (as a Base64 encoded JSON string) as part of a name/value pair of a JSON object.
+ The JSON-encoded name of the property to write.
+ The binary data to write as Base64 encoded text.
+ The specified value is too large.
+ Validation is enabled, and this method would result in writing invalid JSON.
+
+
+ Writes the raw bytes value as a Base64 encoded JSON string as an element of a JSON array.
+ The binary data to be written as a Base64 encoded JSON string element of a JSON array.
+ The specified value is too large.
+ Validation is enabled, and this method would result in writing invalid JSON.
+
+
+ Writes a property name specified as a read-only span of bytes and a value (as a JSON literal true or false) as part of a name/value pair of a JSON object.
+ The UTF-8 encoded property name of the JSON object to be written.
+ The value to be written as a JSON literal true or false as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the operation would result in writing invalid JSON.
+
+
+ Writes a property name specified as a read-only character span and a value (as a JSON literal true or false) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON literal true or false as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the operation would result in writing invalid JSON.
+
+
+ Writes a property name specified as a string and a value (as a JSON literal true or false) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON literal true or false as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the operation would result in writing invalid JSON.
+ The parameter is .
+
+
+ Writes the pre-encoded property name and value (as a JSON literal true or false) as part of a name/value pair of a JSON object.
+ The JSON encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON literal true or false as part of the name/value pair.
+ Validation is enabled, and this method would result in writing invalid JSON.
+
+
+ Writes a value (as a JSON literal true or false) as an element of a JSON array.
+ The value to be written as a JSON literal true or false as an element of a JSON array.
+ Validation is enabled, and the operation would result in writing invalid JSON.
+
+
+ Writes a UTF-8 text value as a JSON comment.
+ The UTF-8 encoded value to be written as a JSON comment within /*..*/.
+ The specified value is too large.
+
+-or-
+
+ contains a comment delimiter (that is, */).
+
+
+ Writes a UTF-16 text value as a JSON comment.
+ The UTF-16 encoded value to be written as a UTF-8 transcoded JSON comment within /*..*/.
+ The specified value is too large.
+
+-or-
+
+ contains a comment delimiter (that is, */).
+
+
+ Writes a string text value as a JSON comment.
+ The UTF-16 encoded value to be written as a UTF-8 transcoded JSON comment within /*..*/.
+ The specified value is too large.
+
+-or-
+
+ contains a comment delimiter (that is, */).
+ The parameter is .
+
+
+ Writes the end of a JSON array.
+ Validation is enabled, and the operation would result in writing invalid JSON.
+
+
+ Writes the end of a JSON object.
+ Validation is enabled, and the operation would result in writing invalid JSON.
+
+
+ Writes a property name specified as a read-only span of bytes and the JSON literal null as part of a name/value pair of a JSON object.
+ The UTF-8 encoded property name of the JSON object to be written.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a read-only character span and the JSON literal null as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a string and the JSON literal null as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+ The parameter is .
+
+
+ Writes the pre-encoded property name and the JSON literal null as part of a name/value pair of a JSON object.
+ The JSON encoded property name of the JSON object to be transcoded and written as UTF-8.
+ Validation is enabled, and this method would result in writing invalid JSON.
+
+
+ Writes the JSON literal null as an element of a JSON array.
+ Validation is enabled, and the operation would result in writing invalid JSON.
+
+
+ Writes a property name specified as a read-only span of bytes and a value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-8 encoded property name of the JSON object to be written.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a read-only span of bytes and a value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-8 encoded property name of the JSON object to be written.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a read-only span of bytes and an value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-8 encoded property name of the JSON object to be written.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a read-only span of bytes and an value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-8 encoded property name of the JSON object to be written.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a read-only span of bytes and a value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-8 encoded property name of the JSON object to be written.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a read-only span of bytes and a value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-8 encoded property name of the JSON object to be written.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a read-only span of bytes and a value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-8 encoded property name of the JSON object to be written.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a read-only character span and a value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a read-only character span and a value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a read-only character span and an value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a read-only character span and an value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a read-only character span and a value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a read-only character span and a value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a read-only character span and a value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a string and a value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+ The parameter is .
+
+
+ Writes a property name specified as a string and a value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+ The parameter is .
+
+
+ Writes a property name specified as a string and an value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+ The parameter is .
+
+
+ Writes a property name specified as a string and an value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+ The parameter is .
+
+
+ Writes a property name specified as a string and a value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+ The parameter is .
+
+
+ Writes a property name specified as a string and a value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+ The parameter is .
+
+
+ Writes a property name specified as a string and a value (as a JSON number) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+ The parameter is .
+
+
+ Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object.
+ The JSON encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ Validation is enabled, and this method would result in writing invalid JSON.
+
+
+ Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object.
+ The JSON encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ Validation is enabled, and this method would result in writing invalid JSON.
+
+
+ Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object.
+ The JSON encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ Validation is enabled, and this method would result in writing invalid JSON.
+
+
+ Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object.
+ The JSON encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ Validation is enabled, and this method would result in writing invalid JSON.
+
+
+ Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object.
+ The JSON encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ Validation is enabled, and this method would result in writing invalid JSON.
+
+
+ Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object.
+ The JSON encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ Validation is enabled, and this method would result in writing invalid JSON.
+
+
+ Writes the pre-encoded property name and value (as a JSON number) as part of a name/value pair of a JSON object.
+ The JSON encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON number as part of the name/value pair.
+ Validation is enabled, and this method would result in writing invalid JSON.
+
+
+ Writes a value (as a JSON number) as an element of a JSON array.
+ The value to be written as a JSON number as an element of a JSON array.
+ Validation is enabled, and the operation would result in writing invalid JSON.
+
+
+ Writes a value (as a JSON number) as an element of a JSON array.
+ The value to be written as a JSON number as an element of a JSON array.
+ Validation is enabled, and the operation would result in writing invalid JSON.
+
+
+ Writes an value (as a JSON number) as an element of a JSON array.
+ The value to be written as a JSON number as an element of a JSON array.
+ Validation is enabled, and the operation would result in writing invalid JSON.
+
+
+ Writes an value (as a JSON number) as an element of a JSON array.
+ The value to be written as a JSON number as an element of a JSON array.
+ Validation is enabled, and the operation would result in writing invalid JSON.
+
+
+ Writes a value (as a JSON number) as an element of a JSON array.
+ The value to be written as a JSON number as an element of a JSON array.
+ Validation is enabled, and the operation would result in writing invalid JSON.
+
+
+ Writes a value (as a JSON number) as an element of a JSON array.
+ The value to be written as a JSON number as an element of a JSON array.
+ Validation is enabled, and the operation would result in writing invalid JSON.
+
+
+ Writes a value (as a JSON number) as an element of a JSON array.
+ The value to be written as a JSON number as an element of a JSON array.
+ Validation is enabled, and the operation would result in writing invalid JSON.
+
+
+ Writes the UTF-8 property name (as a JSON string) as the first part of a name/value pair of a JSON object.
+ The UTF-8 encoded property name of the JSON object to be written.
+ The specified property name is too large.
+ Validation is enabled, and this write operation would produce invalid JSON.
+
+
+ Writes the property name (as a JSON string) as the first part of a name/value pair of a JSON object.
+ The property name of the JSON object to be transcoded and written as UTF-8.
+ The specified property name is too large.
+ Validation is enabled, and this write operation would produce invalid JSON.
+
+
+ Writes the property name (as a JSON string) as the first part of a name/value pair of a JSON object.
+ The property name of the JSON object to be transcoded and written as UTF-8.
+ The specified property name is too large.
+ Validation is enabled, and this write operation would produce invalid JSON.
+
+ is .
+
+
+ Writes the pre-encoded property name (as a JSON string) as the first part of a name/value pair of a JSON object.
+ The JSON encoded property name of the JSON object to be transcoded and written as UTF-8.
+ Validation is enabled, and this write operation would produce invalid JSON.
+
+
+ Writes the input as JSON content. It is expected that the input content is a single complete JSON value.
+ The raw JSON content to write.
+
+ to validate if the input is an RFC 8259-compliant JSON payload; to skip validation.
+ The length of the input is zero or equal to Int32.MaxValue.
+
+ is , and the input
+ is not a valid, complete, single JSON value according to the JSON RFC
+ or the input JSON exceeds a recursive depth of 64.
+
+
+ Writes the input as JSON content. It is expected that the input content is a single complete JSON value.
+ The raw JSON content to write.
+
+ to validate if the input is an RFC 8259-compliant JSON payload; otherwise.
+ The length of the input is zero or equal to Int32.MaxValue.
+
+ is , and the input is not a valid, complete, single JSON value according to the JSON RFC, or the input JSON exceeds a recursive depth of 64.
+
+
+ Writes the input as JSON content. It is expected that the input content is a single complete JSON value.
+ The raw JSON content to write.
+
+ to validate if the input is an RFC 8259-compliant JSON payload; otherwise.
+ The length of the input is zero or greater than 715,827,882 (Int32.MaxValue / 3).
+
+ is , and the input is not a valid, complete, single JSON value according to the JSON RFC, or the input JSON exceeds a recursive depth of 64.
+
+
+ Writes the input as JSON content. It is expected that the input content is a single complete JSON value.
+ The raw JSON content to write.
+
+ to validate if the input is an RFC 8259-compliant JSON payload; otherwise.
+
+ is .
+ The length of the input is zero or greater than 715,827,882 (Int32.MaxValue / 3).
+
+ is , and the input is not a valid, complete, single JSON value according to the JSON RFC, or the input JSON exceeds a recursive depth of 64.
+
+
+ Writes the beginning of a JSON array.
+ The depth of the JSON exceeds the maximum depth of 1,000.
+
+-or-
+
+Validation is enabled, and this write operation would produce invalid JSON.
+
+
+ Writes the beginning of a JSON array with a property name specified as a read-only span of bytes as the key.
+ The UTF-8 encoded property name of the JSON array to be written.
+ The specified property name is too large.
+ The depth of the JSON exceeds the maximum depth of 1,000.
+
+-or-
+
+Validation is enabled, and this write operation would produce invalid JSON.
+
+
+ Writes the beginning of a JSON array with a property name specified as a read-only character span as the key.
+ The UTF-16 encoded property name of the JSON array to be transcoded and written as UTF-8.
+ The specified property name is too large.
+ The depth of the JSON exceeds the maximum depth of 1,000.
+
+-or-
+
+Validation is enabled, and this write operation would produce invalid JSON.
+
+
+ Writes the beginning of a JSON array with a property name specified as a string as the key.
+ The UTF-16 encoded property name of the JSON array to be transcoded and written as UTF-8.
+ The specified property name is too large.
+ The depth of the JSON exceeds the maximum depth of 1,000.
+
+-or-
+
+Validation is enabled, and this write operation would produce invalid JSON.
+ The parameter is .
+
+
+ Writes the beginning of a JSON array with a pre-encoded property name as the key.
+ The JSON encoded property name of the JSON array to be transcoded and written as UTF-8.
+ The depth of the JSON has exceeded the maximum depth of 1,000.
+
+-or-
+
+Validation is enabled, and this method would result in writing invalid JSON.
+
+
+ Writes the beginning of a JSON object.
+ The depth of the JSON exceeds the maximum depth of 1,000.
+
+-or-
+
+Validation is enabled, and the operation would result in writing invalid JSON.
+
+
+ Writes the beginning of a JSON object with a property name specified as a read-only span of bytes as the key.
+ The UTF-8 encoded property name of the JSON object to be written.
+ The specified property name is too large.
+ The depth of the JSON exceeds the maximum depth of 1,000.
+
+-or-
+
+Validation is enabled, and this write operation would produce invalid JSON.
+
+
+ Writes the beginning of a JSON object with a property name specified as a read-only character span as the key.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The specified property name is too large.
+ The depth of the JSON exceeds the maximum depth of 1,000.
+
+-or-
+
+Validation is enabled, and this write operation would produce invalid JSON.
+
+
+ Writes the beginning of a JSON object with a property name specified as a string as the key.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The specified property name is too large.
+ The depth of the JSON exceeds the maximum depth of 1,000.
+
+-or-
+
+Validation is enabled, and this write operation would produce invalid JSON.
+ The parameter is .
+
+
+ Writes the beginning of a JSON object with a pre-encoded property name as the key.
+ The JSON encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The depth of the JSON has exceeded the maximum depth of 1,000.
+
+-or-
+
+Validation is enabled, and this method would result in writing invalid JSON.
+
+
+ Writes a UTF-8 property name and a value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-8 encoded property name of the JSON object to be written.
+ The value to be written as a JSON string as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a UTF-8 property name and a value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-8 encoded property name of the JSON object to be written.
+ The value to be written as a JSON string as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a UTF-8 property name and a value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-8 encoded property name of the JSON object to be written.
+ The value to be written as a JSON string as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a UTF-8 property name and UTF-8 text value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-8 encoded property name of the JSON object to be written.
+ The UTF-8 encoded value to be written as a JSON string as part of the name/value pair.
+ The specified property name or value is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a UTF-8 property name and UTF-16 text value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-8 encoded property name of the JSON object to be written.
+ The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair.
+ The specified property name or value is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a UTF-8 property name and string text value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-8 encoded property name of the JSON object to be written.
+ The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair.
+ The specified property name or value is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes the UTF-8 property name and pre-encoded value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-8 encoded property name of the JSON object to be written.
+ The JSON encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and this method would result in writing invalid JSON.
+
+
+ Writes a property name specified as a read-only character span and a value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON string as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a read-only character span and a value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON string as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a read-only character span and a value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON string as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a UTF-16 property name and UTF-8 text value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The UTF-8 encoded value to be written as a JSON string as part of the name/value pair.
+ The specified property name or value is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a UTF-16 property name and UTF-16 text value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair.
+ The specified property name or value is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a UTF-16 property name and string text value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair.
+ The specified property name or value is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes the property name and pre-encoded value (as a JSON string) as part of a name/value pair of a JSON object.
+ The property name of the JSON object to be transcoded and written as UTF-8.
+ The JSON encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a property name specified as a string and a value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON string as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+ The parameter is .
+
+
+ Writes a property name specified as a string and a value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON string as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+ The parameter is .
+
+
+ Writes a property name specified as a string and a value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON string as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+ The parameter is .
+
+
+ Writes a property name specified as a string and a UTF-8 text value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The UTF-8 encoded value to be written as a JSON string as part of the name/value pair.
+ The specified property name or value is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+ The parameter is .
+
+
+ Writes a property name specified as a string and a UTF-16 text value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair.
+ The specified property name or value is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+ The parameter is .
+
+
+ Writes a property name specified as a string and a string text value (as a JSON string) as part of a name/value pair of a JSON object.
+ The UTF-16 encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair.
+ The specified property name or value is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+ The parameter is .
+
+
+ Writes the property name and pre-encoded value (as a JSON string) as part of a name/value pair of a JSON object.
+ The property name of the JSON object to be transcoded and written as UTF-8.
+ The JSON encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair.
+ The specified property name is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+ The parameter is .
+
+
+ Writes the pre-encoded property name and value (as a JSON string) as part of a name/value pair of a JSON object.
+ The JSON encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON string as part of the name/value pair.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes the pre-encoded property name and value (as a JSON string) as part of a name/value pair of a JSON object.
+ The JSON encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON string as part of the name/value pair.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes the pre-encoded property name and value (as a JSON string) as part of a name/value pair of a JSON object.
+ The JSON encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a JSON string as part of the name/value pair.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes the pre-encoded property name and UTF-8 text value (as a JSON string) as part of a name/value pair of a JSON object.
+ The JSON encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The UTF-8 encoded value to be written as a JSON string as part of the name/value pair.
+ The specified value is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes the pre-encoded property name and text value (as a JSON string) as part of a name/value pair of a JSON object.
+ The JSON encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a UTF-8 transcoded JSON string as part of the name/value pair.
+ The specified value is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes the pre-encoded property name and string text value (as a JSON string) as part of a name/value pair of a JSON object.
+ The JSON encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The value to be written as a UTF-8 transcoded JSON string as part of the name/value pair.
+ The specified value is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes the pre-encoded property name and pre-encoded value (as a JSON string) as part of a name/value pair of a JSON object.
+ The JSON encoded property name of the JSON object to be transcoded and written as UTF-8.
+ The JSON encoded value to be written as a UTF-8 transcoded JSON string as part of the name/value pair.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a value (as a JSON string) as an element of a JSON array.
+ The value to be written as a JSON string as an element of a JSON array.
+ Validation is enabled, and the operation would result in writing invalid JSON.
+
+
+ Writes a value (as a JSON string) as an element of a JSON array.
+ The value to be written as a JSON string as an element of a JSON array.
+ Validation is enabled, and the operation would result in writing invalid JSON.
+
+
+ Writes a value (as a JSON string) as an element of a JSON array.
+ The value to be written as a JSON string as an element of a JSON array.
+ Validation is enabled, and the operation would result in writing invalid JSON.
+
+
+ Writes a UTF-8 text value (as a JSON string) as an element of a JSON array.
+ The UTF-8 encoded value to be written as a JSON string element of a JSON array.
+ The specified value is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a UTF-16 text value (as a JSON string) as an element of a JSON array.
+ The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string element of a JSON array.
+ The specified value is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes a string text value (as a JSON string) as an element of a JSON array.
+ The UTF-16 encoded value to be written as a UTF-8 transcoded JSON string element of a JSON array.
+ The specified value is too large.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Writes the pre-encoded text value (as a JSON string) as an element of a JSON array.
+ The JSON encoded value to be written as a UTF-8 transcoded JSON string element of a JSON array.
+ Validation is enabled, and the write operation would produce invalid JSON.
+
+
+ Gets the total number of bytes committed to the output by the current instance so far.
+ The total number of bytes committed to the output by the so far.
+
+
+ Gets the number of bytes written by the so far that have not yet been flushed to the output and committed.
+ The number of bytes written so far by the that have not yet been flushed to the output and committed.
+
+
+ Gets the depth of the current token.
+ The depth of the current token.
+
+
+ Gets the custom behavior when writing JSON using this instance, which indicates whether to format the output while writing, whether to skip structural JSON validation, and which characters to escape.
+ The custom behavior of this instance of the writer for formatting, validating, and escaping.
+
+
+
\ No newline at end of file
diff --git a/LeatherProject/LeatherApp/bin/Debug/System.Threading.Tasks.Extensions.xml b/LeatherProject/LeatherApp/bin/Debug/System.Threading.Tasks.Extensions.xml
new file mode 100644
index 0000000..1ee5def
--- /dev/null
+++ b/LeatherProject/LeatherApp/bin/Debug/System.Threading.Tasks.Extensions.xml
@@ -0,0 +1,166 @@
+
+
+ System.Threading.Tasks.Extensions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Provides a value type that wraps a and a TResult, only one of which is used.
+ The result.
+
+
+ Initializes a new instance of the class using the supplied task that represents the operation.
+ The task.
+ The task argument is null.
+
+
+ Initializes a new instance of the class using the supplied result of a successful operation.
+ The result.
+
+
+ Retrieves a object that represents this .
+ The object that is wrapped in this if one exists, or a new object that represents the result.
+
+
+ Configures an awaiter for this value.
+ true to attempt to marshal the continuation back to the captured context; otherwise, false.
+ The configured awaiter.
+
+
+ Creates a method builder for use with an async method.
+ The created builder.
+
+
+ Determines whether the specified object is equal to the current object.
+ The object to compare with the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+
+
+ Determines whether the specified object is equal to the current object.
+ The object to compare with the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+
+
+ Creates an awaiter for this value.
+ The awaiter.
+
+
+ Returns the hash code for this instance.
+ The hash code for the current object.
+
+
+ Gets a value that indicates whether this object represents a canceled operation.
+ true if this object represents a canceled operation; otherwise, false.
+
+
+ Gets a value that indicates whether this object represents a completed operation.
+ true if this object represents a completed operation; otherwise, false.
+
+
+ Gets a value that indicates whether this object represents a successfully completed operation.
+ true if this object represents a successfully completed operation; otherwise, false.
+
+
+ Gets a value that indicates whether this object represents a failed operation.
+ true if this object represents a failed operation; otherwise, false.
+
+
+ Compares two values for equality.
+ The first value to compare.
+ The second value to compare.
+ true if the two values are equal; otherwise, false.
+
+
+ Determines whether two values are unequal.
+ The first value to compare.
+ The seconed value to compare.
+ true if the two values are not equal; otherwise, false.
+
+
+ Gets the result.
+ The result.
+
+
+ Returns a string that represents the current object.
+ A string that represents the current object.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LeatherProject/LeatherApp/bin/Debug/models/BS_CYG_1003.trt b/LeatherProject/LeatherApp/bin/Debug/models/BS_CYG_1003.trt
new file mode 100644
index 0000000..a3a61cb
Binary files /dev/null and b/LeatherProject/LeatherApp/bin/Debug/models/BS_CYG_1003.trt differ
diff --git a/LeatherProject/LeatherApp/obj/Debug/LeatherApp.csproj.FileListAbsolute.txt b/LeatherProject/LeatherApp/obj/Debug/LeatherApp.csproj.FileListAbsolute.txt
index 651cd01..2ed5f69 100644
--- a/LeatherProject/LeatherApp/obj/Debug/LeatherApp.csproj.FileListAbsolute.txt
+++ b/LeatherProject/LeatherApp/obj/Debug/LeatherApp.csproj.FileListAbsolute.txt
@@ -441,3 +441,19 @@ H:\CPL\GeBoshi\禾欣版本修改\LeatherProject\LeatherApp\obj\Debug\LeatherApp
H:\CPL\GeBoshi\禾欣版本修改\LeatherProject\LeatherApp\obj\Debug\LeatherApp.csproj.CopyComplete
H:\CPL\GeBoshi\禾欣版本修改\LeatherProject\LeatherApp\obj\Debug\革博士AI智能检测系统.exe
H:\CPL\GeBoshi\禾欣版本修改\LeatherProject\LeatherApp\obj\Debug\革博士AI智能检测系统.pdb
+E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\halcondotnet.dll
+E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\hdevenginedotnet.dll
+E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\HZH_Controls.dll
+E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\Microsoft.Bcl.AsyncInterfaces.dll
+E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\Oracle.ManagedDataAccess.dll
+E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\PG_Detect.dll
+E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Diagnostics.DiagnosticSource.dll
+E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Formats.Asn1.dll
+E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Text.Encodings.Web.dll
+E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Text.Json.dll
+E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\Microsoft.Bcl.AsyncInterfaces.xml
+E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Diagnostics.DiagnosticSource.xml
+E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Formats.Asn1.xml
+E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Text.Encodings.Web.xml
+E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Text.Json.xml
+E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\System.Threading.Tasks.Extensions.xml
diff --git a/LeatherProject/LeatherApp/packages.config b/LeatherProject/LeatherApp/packages.config
index e00238d..9328d81 100644
--- a/LeatherProject/LeatherApp/packages.config
+++ b/LeatherProject/LeatherApp/packages.config
@@ -10,7 +10,6 @@
-
diff --git a/LeatherProject/Models/Product.cs b/LeatherProject/Models/Product.cs
index 769f88a..d06c422 100644
--- a/LeatherProject/Models/Product.cs
+++ b/LeatherProject/Models/Product.cs
@@ -106,6 +106,18 @@ namespace Models
///
[SugarColumn(IsNullable = true)]
public double residueWarnningLen { get; set; }
+
+ //////////20241024新增传统算法参数/////////////////
+ ///
+ /// 分类
+ ///
+ [SugarColumn(IsNullable = true)]
+ public string ClassType { get; set; }
+ ///
+ /// 面积过滤大小像素
+ ///
+ [SugarColumn(IsNullable = true)]
+ public double HalconAreaThr { get; set; }
}
///
diff --git a/LeatherProject/Service/InitDB.cs b/LeatherProject/Service/InitDB.cs
index a8581d7..343cf41 100644
--- a/LeatherProject/Service/InitDB.cs
+++ b/LeatherProject/Service/InitDB.cs
@@ -107,6 +107,53 @@ namespace Service
}
}
+
+ public static void SendServerDB(string dbConStr, Records record, bool dropTable = false)
+ {
+ ConnectionString = dbConStr;
+ ConnectionConfig connectionConfig = new ConnectionConfig()
+ {
+ ConnectionString = dbConStr,
+ DbType = DbType.MySql,
+ IsAutoCloseConnection = true
+ };
+ connectionConfig.ConnectionString = dbConStr;
+ //创建数据库对象
+ using (SqlSugarClient db = new SqlSugarClient(connectionConfig))
+ {
+ db.Aop.OnLogExecuting = (sql, pars) =>
+ {
+ Console.WriteLine(sql);//输出sql,查看执行sql 性能无影响
+ };
+
+ //create db
+ db.DbMaintenance.CreateDatabase();
+
+ //===建表
+ if (dropTable && db.DbMaintenance.IsAnyTable("Product", false)) db.DbMaintenance.DropTable("Product");
+ if (dropTable && db.DbMaintenance.IsAnyTable("QualifiedLimit", false)) db.DbMaintenance.DropTable("QualifiedLimit");
+ if (dropTable && db.DbMaintenance.IsAnyTable("GradeLimit", false)) db.DbMaintenance.DropTable("GradeLimit");
+ if (dropTable && db.DbMaintenance.IsAnyTable("Records", false)) db.DbMaintenance.DropTable("Records");
+ if (dropTable && db.DbMaintenance.IsAnyTable("DefectInfo", false)) db.DbMaintenance.DropTable("DefectInfo");
+
+ //===添加与更新表
+ db.CodeFirst.InitTables();
+ db.CodeFirst.InitTables();
+ db.CodeFirst.InitTables();
+ db.CodeFirst.InitTables();
+ db.CodeFirst.InitTables();
+
+ //更改表数据
+ try
+ {
+ db.Ado.ExecuteCommand("drop index index_Records_ProductId_SerialNum ON table_name");//删除索引
+ }
+ catch { }
+ //数据插入表
+ db.Insertable(record).ExecuteCommand();
+
+ }
+ }
///
/// 备份DB (还原:mysql -uroot -p < d:\dbName.sql)
///
diff --git a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/.signature.p7s b/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/.signature.p7s
deleted file mode 100644
index b691341..0000000
Binary files a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/.signature.p7s and /dev/null differ
diff --git a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/LICENSE.txt b/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/LICENSE.txt
deleted file mode 100644
index 3aacbd9..0000000
--- a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/LICENSE.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-Your use of this Program is governed by the Oracle Free Distribution, Hosting, and Use Terms and Conditions set forth below, unless you have received this Program (alone or as part of another Oracle product) under an Oracle license agreement (including but not limited to the Oracle Master Agreement), in which case your use of this Program is governed solely by such license agreement with Oracle.
-
-Oracle Free Distribution, Hosting, and Use Terms and Conditions
-Definitions
-"Oracle" refers to Oracle America, Inc. "You" and "Your" refers to (a) a company or organization (each an "Entity") accessing the Programs, if use of the Programs will be on behalf of such Entity; or (b) an individual accessing the Programs, if use of the Programs will not be on behalf of an Entity. "Program(s)" refers to Oracle software provided by Oracle pursuant to the following terms and any updates, error corrections, and/or Program Documentation provided by Oracle. "Program Documentation" refers to Program user manuals and Program installation manuals, if any. If available, Program Documentation may be delivered with the Programs and/or may be accessed from www.oracle.com/documentation. "Separate Terms" refers to separate license terms that are specified in the Program Documentation, readmes or notice files and that apply to Separately Licensed Technology. "Separately Licensed Technology" refers to Oracle or third party technology that is licensed under Separate Terms and not under the terms of this license.
-
-Separately Licensed Technology
-Oracle may provide certain notices to You in Program Documentation, readmes or notice files in connection with Oracle or third party technology provided as or with the Programs. If specified in the Program Documentation, readmes or notice files, such technology will be licensed to You under Separate Terms. Your rights to use Separately Licensed Technology under Separate Terms are not restricted in any way by the terms herein. For clarity, notwithstanding the existence of a notice, third party technology that is not Separately Licensed Technology shall be deemed part of the Programs licensed to You under the terms of this license.
-
-Source Code for Open Source Software
-For software that You receive from Oracle in binary form that is licensed under an open source license that gives You the right to receive the source code for that binary, You can obtain a copy of the applicable source code from https://oss.oracle.com/sources/ or http://www.oracle.com/goto/opensourcecode. If the source code for such software was not provided to You with the binary, You can also receive a copy of the source code on physical media by submitting a written request pursuant to the instructions in the "Written Offer for Source Code" section of the latter website.
-
--------------------------------------------------------------------------------
-The following license terms apply to those Programs that are not provided to You under Separate Terms.
-License Rights and Restrictions
-Oracle grants to You, as a recipient of this Program, a nonexclusive, nontransferable, limited license to, subject to the conditions stated herein, use the unmodified Programs, including, without limitation, for the purposes of:
-• developing, testing, prototyping and demonstrating applications;
-• running the unmodified Programs for training, personal use, your business operations, and the business operations of third parties;
-• making the unmodified Programs available for use by third parties in your hosted environment and in cloud services;
-• redistributing unmodified Programs and Programs Documentation under the terms of this License; and
-• copying the unmodified Programs and Program Documentation to the extent reasonably necessary to exercise the license rights granted herein and for backup purposes.
-For the purposes of this license, compiling, interpreting or configuring an otherwise unmodified Program as necessary to run the Program shall not be considered modification.
-
-Your license is contingent on Your compliance with the following conditions:
-- You include a copy of this license with any distribution by You of the Programs;
-- You do not charge your customers, end users, distributees or other third parties any additional fees for the distribution or use of the Programs; however, for clarity, if you comply with the foregoing condition, distribution or use of the Program as part of your for-fee product or service that adds substantial additional value is permitted;
-- You do not remove markings or notices of either Oracle's or a licensor's proprietary rights from the Programs or Program Documentation;
-- You comply with all U.S. and applicable export control and economic sanctions laws and regulations that govern Your use of the Programs (including technical data); and
-- You do not cause or permit reverse engineering, disassembly or decompilation of the Programs (except as allowed by law) by You nor allow an associated party to do so.
-Any source code that may be included in the distribution with the Programs may not be modified, unless such source code is under Separate Terms permitting modification.
-Ownership
-Oracle or its licensors retain all ownership and intellectual property rights to the Programs.
-
-Information Collection
-The Programs' installation and/or auto-update processes, if any, may transmit a limited amount of data to Oracle or its service provider about those processes to help Oracle understand and optimize them. Oracle does not associate the data with personally identifiable information. Refer to Oracle's Privacy Policy at www.oracle.com/privacy.
-
-Disclaimer of Warranties; Limitation of Liability
-THE PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. ORACLE FURTHER DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT.
-IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL ORACLE BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-Version 1.0
-Last updated: 28 June 2022
diff --git a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/Oracle.ManagedDataAccess.23.6.0.nupkg b/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/Oracle.ManagedDataAccess.23.6.0.nupkg
deleted file mode 100644
index fa1f344..0000000
Binary files a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/Oracle.ManagedDataAccess.23.6.0.nupkg and /dev/null differ
diff --git a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/PerfCounters/register_odpm_perfmon_counters.ps1 b/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/PerfCounters/register_odpm_perfmon_counters.ps1
deleted file mode 100644
index 1ee2947..0000000
--- a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/PerfCounters/register_odpm_perfmon_counters.ps1
+++ /dev/null
@@ -1,41 +0,0 @@
-$categoryName = "ODP.NET, Managed Driver"
-try{
-$categoryHelp = "$categoryName Performance Counter"
-$categoryType = [System.Diagnostics.PerformanceCounterCategoryType]::MultiInstance
-$categoryExists_reg = [System.Diagnostics.PerformanceCounterCategory]::Exists($categoryName)
-if($categoryExists_reg)
-{
-[System.Diagnostics.PerformanceCounterCategory]::Delete($categoryName)
-}
-$counterCreationDataList = New-Object -TypeName System.Diagnostics.CounterCreationDataCollection
-$counterCreationDataList.Clear()
-$RateOfCountsPerSecond64 = [System.Diagnostics.PerformanceCounterType]::RateOfCountsPerSecond64
-$NumberOfItems64 = [System.Diagnostics.PerformanceCounterType]::NumberOfItems64
-$counterCreationData1 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'HardConnectsPerSecond', [string]::Empty, $RateOfCountsPerSecond64
-$counterCreationData2 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'HardDisconnectsPerSecond', [string]::Empty, $RateOfCountsPerSecond64
-$counterCreationData3 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'SoftConnectsPerSecond', [string]::Empty, $RateOfCountsPerSecond64
-$counterCreationData4 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'SoftDisconnectsPerSecond', [string]::Empty, $RateOfCountsPerSecond64
-$counterCreationData5 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'NumberOfActiveConnectionPools', [string]::Empty, $NumberOfItems64
-$counterCreationData6 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'NumberOfInactiveConnectionPools',[string]::Empty, $NumberOfItems64
-$counterCreationData7 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'NumberOfActiveConnections', [string]::Empty, $NumberOfItems64
-$counterCreationData8 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'NumberOfFreeConnections', [string]::Empty, $NumberOfItems64
-$counterCreationData9 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'NumberOfPooledConnections', [string]::Empty, $NumberOfItems64
-$counterCreationData10 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'NumberOfNonPooledConnections', [string]::Empty, $NumberOfItems64
-$counterCreationData11 = New-Object -TypeName System.Diagnostics.CounterCreationData -ArgumentList 'NumberOfReclaimedConnections', [string]::Empty, $NumberOfItems64
-$counterCreationDataList.Add($counterCreationData1) | out-null
-$counterCreationDataList.Add($counterCreationData2) | out-null
-$counterCreationDataList.Add($counterCreationData3) | out-null
-$counterCreationDataList.Add($counterCreationData4) | out-null
-$counterCreationDataList.Add($counterCreationData5) | out-null
-$counterCreationDataList.Add($counterCreationData6) | out-null
-$counterCreationDataList.Add($counterCreationData7) | out-null
-$counterCreationDataList.Add($counterCreationData8) | out-null
-$counterCreationDataList.Add($counterCreationData9) | out-null
-$counterCreationDataList.Add($counterCreationData10) | out-null
-$counterCreationDataList.Add($counterCreationData11) | out-null
-[System.Diagnostics.PerformanceCounterCategory]::Create($categoryName, $categoryHelp, $categoryType, $counterCreationDataList) | out-null
-write-host("$categoryHelp was registered successfullly.")
-}
-catch{
-write-host("ERROR: $categoryHelp registration failed.")
-}
\ No newline at end of file
diff --git a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/PerfCounters/unregister_odpm_perfmon_counters.ps1 b/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/PerfCounters/unregister_odpm_perfmon_counters.ps1
deleted file mode 100644
index 2fc4337..0000000
--- a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/PerfCounters/unregister_odpm_perfmon_counters.ps1
+++ /dev/null
@@ -1,12 +0,0 @@
-$categoryName = "ODP.NET, Managed Driver"
-try{
-$categoryExists_unreg = [System.Diagnostics.PerformanceCounterCategory]::Exists($categoryName)
-if($categoryExists_unreg)
-{
-[System.Diagnostics.PerformanceCounterCategory]::Delete($categoryName) | out-null
-}
-write-host("$categoryName Performance Counter was un-registered successfullly.")
-}
-catch{
-write-host("ERROR: $categoryName Performance Counter un-registration failed.")
-}
diff --git a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/README.md b/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/README.md
deleted file mode 100644
index e594a9a..0000000
--- a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/README.md
+++ /dev/null
@@ -1,68 +0,0 @@
-
-# Oracle.ManagedDataAccess 23.6.0
-Release Notes for Oracle Data Provider for .NET, Managed Driver NuGet Package
-
-September 2024
-
-Managed Oracle Data Provider for .NET (ODP.NET) features optimized ADO.NET data access to the Oracle database for .NET Framework and is 100% managed code. ODP.NET allows developers to take advantage of advanced Oracle database functionality, including AI vectors, Real Application Clusters, Application Continuity, JSON Relational Duality, and Fast Connection Failover.
-
-This document provides information that supplements the [Oracle Data Provider for .NET (ODP.NET) documentation](https://docs.oracle.com/en/database/oracle/oracle-database/23/odpnt/index.html).
-
-## Oracle .NET Links
-* [Oracle .NET Home Page](https://www.oracle.com/database/technologies/appdev/dotnet.html)
-* [GitHub - Sample Code](https://github.com/oracle/dotnet-db-samples)
-* [ODP.NET Discussion Forum](https://forums.oracle.com/ords/apexds/domain/dev-community/category/odp-dot-net)
-* [YouTube](https://www.youtube.com/user/OracleDOTNETTeam)
-* [X (Twitter)](https://twitter.com/oracledotnet)
-* [Email Newsletter Sign Up](https://go.oracle.com/LP=28277?elqCampaignId=124071&nsl=onetdev)
-
-## New Features
-* Eliminate exception when using Transparent Application Failover (TAF) SELECT mode (starting with 23.5.1)
-* BINARY Vector Support
-* IsFloatingPointNumber Schema Table Column Support
-* Data Source Allowed Parameters Support
-* Allow UNC Paths Support
-* OpenTelemetry: ActivitySource.Version Support
-* OpenTelemetry: SQL Normalization Support
-* OpenTelemetry: db.odp.user.statement Tag Support
-* AutoProxy Support
-* SSL-related OracleConnection Property Support
-* Azure Credentials Support for Service Principal Authentication Flow
-* SQLNET.IGNORE_ANO_ENCRYPTION_FOR_TCPS Support
-
-## Bug Fixes since Oracle.ManagedDataAccess.Core 23.5.0
-* Bug 37054477 - KEEPALIVE: TURNING ON KEEPALIVE SUCCEEDED BUT NO KEEPALIVE PACKAGES ON LINUX
-* Bug 37013827 - PROVIDER SPECIFIC TYPE OBJECTS' TOSTRING() METHODS ARE NOT SENSITIVE TO SESSION'S NLS FORMAT SETTINGS
-* Bug 36937681 - ORA-00917 MISSING COMMA ERROR WHEN USING Ø CHARACTER WITH CHARACTER SET ZHS16GBK
-* Bug 36913251 - EXCEPTION THROWN WHEN ODPM/C 23AI CONFIGURED FOR TAF SELECT FAILOVER
-* Bug 36831777 - LDAP: SPACE BETWEEN DIRECTORY SERVERS IN DIRECTORY_SERVERS CAUSES ORA-12154
-* Bug 36736236 - SETTING THE PORT WHEN USING NOTIFICATIONS CAUSES ORA-50050: THE NOTIFICATION LISTENER IS ALREADY STARTED
-* Bug 36656255 - STATEMENT CACHING NOT PROPERLY HANDLING UNDERLYING TABLE CHANGES
-
-## Installation Changes
-The following app/web.config entries are added when installing the managed ODP.NET NuGet package to your application:
-
-1) Configuration Section Handler
-
-A configuration section handler entry is added to the app/web.config to enable applications to add an
-section for ODP.NET, Managed Driver-specific configuration.
-
-Note: For a web app, if the same config section handler for "oracle.manageddataaccess.client" also exists in machine.config but the "Version" attribute values are different, an error message "There is a duplicate 'oracle.manageddataaccess.client' section defined." may be observed at runtime. To resolve the error, remove the "oracle.manageddataaccess.client" config section handler entry in the machine.config. If other applications on the machine depend on this machine.config entry, move the config section handler entry to each application's web.config file.
-
-2) DbProviderFactories
-
-The DbProviderFactories entry is added for applications that use DbProviderFactories and DbProviderFactory classes. Any DbProviderFactories entry for "Oracle.ManagedDataAccess.Client" in the machine.config will be ignored.
-
-3) Dependent Assembly
-
-The dependent assembly entry is created to ignore policy DLLs for Oracle.ManagedDataAccess.dll. It directs the app to always use the Oracle.ManagedDataAccess.dll version that is specified by the "newVersion" attribute in the "bindingRedirect" element. The "newVersion" attribute corresponds to the Oracle.ManagedDataAccess.dll version which came with the NuGet package.
-
-4) Data Sources
-
-The data sources entry is added to provide a template on how a data source can be configured in the app/web.config.
-Simply rename the sample data source to an alias of your choosing; modify the PROTOCOL, HOST, PORT, SERVICE_NAME as required;
-and un-comment the "dataSource" element. Once that is done, the alias can be used as the "data source" attribute in
-your ODP.NET connection string.
-
-
- Copyright (c) 2024, Oracle and/or its affiliates.
diff --git a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/App.config.install.xdt b/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/App.config.install.xdt
deleted file mode 100644
index 5878f9b..0000000
--- a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/App.config.install.xdt
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/App.config.transform b/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/App.config.transform
deleted file mode 100644
index 264d9fa..0000000
--- a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/App.config.transform
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/App.config.uninstall.xdt b/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/App.config.uninstall.xdt
deleted file mode 100644
index 9b3c81b..0000000
--- a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/App.config.uninstall.xdt
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/Oracle.DataAccess.Common.Configuration.Section.xsd b/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/Oracle.DataAccess.Common.Configuration.Section.xsd
deleted file mode 100644
index bf15d01..0000000
--- a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/Oracle.DataAccess.Common.Configuration.Section.xsd
+++ /dev/null
@@ -1,138 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/Oracle.ManagedDataAccess.Client.Configuration.Section.xsd b/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/Oracle.ManagedDataAccess.Client.Configuration.Section.xsd
deleted file mode 100644
index 1b75a1d..0000000
--- a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/Oracle.ManagedDataAccess.Client.Configuration.Section.xsd
+++ /dev/null
@@ -1,221 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/Web.config.install.xdt b/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/Web.config.install.xdt
deleted file mode 100644
index 5878f9b..0000000
--- a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/Web.config.install.xdt
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/Web.config.transform b/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/Web.config.transform
deleted file mode 100644
index 264d9fa..0000000
--- a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/Web.config.transform
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/Web.config.uninstall.xdt b/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/Web.config.uninstall.xdt
deleted file mode 100644
index 9b3c81b..0000000
--- a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/content/net472/Web.config.uninstall.xdt
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/info.txt b/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/info.txt
deleted file mode 100644
index ba32877..0000000
--- a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/info.txt
+++ /dev/null
@@ -1,296 +0,0 @@
-The following software may be included in Oracle Data Provider for .NET:
-
-Kerberos
-
-Copyright (C) 1985-2010 by the Massachusetts Institute of Technology.
-
-All rights reserved.
-
-Export of this software from the United States of America may require a specific license from the United States Government. It is the responsibility of any person or organization contemplating export to obtain such a license before exporting.
-
-WITHIN THAT CONSTRAINT, permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of M.I.T. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Furthermore if you modify this software you must label your software as modified software and not distribute it in such a fashion that it might be confused with the original MIT software. M.I.T. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-Individual source code files are copyright MIT, Cygnus Support, Novell, OpenVision Technologies, Oracle, Red Hat, Sun Microsystems, FundsXpress, and others.
-
-Project Athena, Athena, Athena MUSE, Discuss, Hesiod, Kerberos, Moira, and Zephyr are trademarks of the Massachusetts Institute of Technology (MIT). No commercial use of these trademarks may be made without prior written permission of MIT.
-
-"Commercial use" means use of a name in a product or other for-profit manner. It does NOT prevent a commercial firm from referring to the MIT trademarks in order to convey information (although in doing so, recognition of their trademark status should be given).
-
------------------------------------------
-
-Portions of src/lib/crypto have the following copyright:
-
-Copyright (C) 1998 by the FundsXpress, INC.
-
-All rights reserved.
-
-Export of this software from the United States of America may require a specific license from the United States Government. It is the responsibility of any person or organization contemplating export to obtain such a license before exporting.
-
-WITHIN THAT CONSTRAINT, permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of FundsXpress. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. FundsXpress makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
------------------------------------------
-
-The following copyright and permission notice applies to the OpenVision Kerberos Administration system located in kadmin/create, kadmin/dbutil, kadmin/passwd, kadmin/server, lib/kadm5, and portions of lib/rpc:
-
-Copyright, OpenVision Technologies, Inc., 1996, All Rights Reserved
-
-WARNING: Retrieving the OpenVision Kerberos Administration system source code, as described below, indicates your acceptance of the following terms. If you do not agree to the following terms, do not retrieve the OpenVision Kerberos administration system.
-
-You may freely use and distribute the Source Code and Object Code compiled from it, with or without modification, but this Source Code is provided to you "AS IS" EXCLUSIVE OF ANY WARRANTY, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY OTHER WARRANTY, WHETHER EXPRESS OR IMPLIED. IN NO EVENT WILL OPENVISION HAVE ANY LIABILITY FOR ANY LOST PROFITS, LOSS OF DATA OR COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, INCLUDING, WITHOUT LIMITATION, THOSE RESULTING FROM THE USE OF THE SOURCE CODE, OR THE FAILURE OF THE SOURCE CODE TO PERFORM, OR FOR ANY OTHER REASON.
-
-OpenVision retains all copyrights in the donated Source Code. OpenVision also retains copyright to derivative works of the Source Code, whether created by OpenVision or by a third party. The OpenVision copyright notice must be preserved if derivative works are made based on the donated Source Code.
-
-OpenVision Technologies, Inc. has donated this Kerberos Administration system to MIT for inclusion in the standard Kerberos 5 distribution. This donation underscores our commitment to continuing Kerberos technology development and our gratitude for the valuable work which has been performed by MIT and the Kerberos community.
-
------------------------------------------
-
-Portions contributed by Matt Crawford were work performed at Fermi National Accelerator Laboratory, which is operated by Universities Research Association, Inc., under contract DE-AC02-76CHO3000 with the U.S. Department of Energy.
-
------------------------------------------
-
-The implementation of the Yarrow pseudo-random number generator in src/lib/crypto/yarrow has the following copyright:
-
-Copyright 2000 by Zero-Knowledge Systems, Inc.
-
-Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Zero-Knowledge Systems, Inc. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Zero-Knowledge Systems, Inc. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.
-
-ZERO-KNOWLEDGE SYSTEMS, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ZERO-KNOWLEDGE SYSTEMS, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
------------------------------------------
-
-The implementation of the AES encryption algorithm in src/lib/crypto/aes has the following copyright:
-
-Copyright (c) 2001, Dr Brian Gladman , Worcester, UK. All rights reserved.
-
-LICENSE TERMS
-
-The free distribution and use of this software in both source and binary form is allowed (with or without changes) provided that:
-
-1. distributions of this source code include the above copyright notice, this list of conditions and the following disclaimer;
-
-2. distributions in binary form include the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other associated materials;
-
-3. the copyright holder's name is not used to endorse products built using this software without specific written permission.
-
-DISCLAIMER
-
-This software is provided 'as is' with no explicit or implied warranties in respect of any properties, including, but not limited to, correctness and fitness for purpose.
-
------------------------------------------
-
-Portions contributed by Red Hat, including the pre-authentication plug-ins framework, contain the following copyright:
-
-Copyright (c) 2006 Red Hat, Inc.
-
-Portions copyright (c) 2006 Massachusetts Institute of Technology
-
-All Rights Reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
- Neither the name of Red Hat, Inc., nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
------------------------------------------
-
-The implementations of GSSAPI mechglue in GSSAPI-SPNEGO in src/lib/gssapi, including the following files:
-
-lib/gssapi/generic/gssapi_err_generic.et
-lib/gssapi/mechglue/g_accept_sec_context.c
-lib/gssapi/mechglue/g_acquire_cred.c
-lib/gssapi/mechglue/g_canon_name.c
-lib/gssapi/mechglue/g_compare_name.c
-lib/gssapi/mechglue/g_context_time.c
-lib/gssapi/mechglue/g_delete_sec_context.c
-lib/gssapi/mechglue/g_dsp_name.c
-lib/gssapi/mechglue/g_dsp_status.c
-lib/gssapi/mechglue/g_dup_name.c
-lib/gssapi/mechglue/g_exp_sec_context.c
-lib/gssapi/mechglue/g_export_name.c
-lib/gssapi/mechglue/g_glue.c
-lib/gssapi/mechglue/g_imp_name.c
-lib/gssapi/mechglue/g_imp_sec_context.c
-lib/gssapi/mechglue/g_init_sec_context.c
-lib/gssapi/mechglue/g_initialize.c
-lib/gssapi/mechglue/g_inquire_context.c
-lib/gssapi/mechglue/g_inquire_cred.c
-lib/gssapi/mechglue/g_inquire_names.c
-lib/gssapi/mechglue/g_process_context.c
-lib/gssapi/mechglue/g_rel_buffer.c
-lib/gssapi/mechglue/g_rel_cred.c
-lib/gssapi/mechglue/g_rel_name.c
-lib/gssapi/mechglue/g_rel_oid_set.c
-lib/gssapi/mechglue/g_seal.c
-lib/gssapi/mechglue/g_sign.c
-lib/gssapi/mechglue/g_store_cred.c
-lib/gssapi/mechglue/g_unseal.c
-lib/gssapi/mechglue/g_userok.c
-lib/gssapi/mechglue/g_utils.c
-lib/gssapi/mechglue/g_verify.c
-lib/gssapi/mechglue/gssd_pname_to_uid.c
-lib/gssapi/mechglue/mglueP.h
-lib/gssapi/mechglue/oid_ops.c
-lib/gssapi/spnego/gssapiP_spnego.h
-lib/gssapi/spnego/spnego_mech.c
-
-and the initial implementation of incremental propagation, including the following new or changed files:
-
-include/iprop_hdr.h
-kadmin/server/ipropd_svc.c
-lib/kdb/iprop.x
-lib/kdb/kdb_convert.c
-lib/kdb/kdb_log.clib/kdb/kdb_log.h
-lib/krb5/error_tables/kdb5_err.et
-slave/kpropd_rpc.c
-slave/kproplog.c
-
-and marked portions of the following files:
-
-lib/krb5/os/hst_realm.c
-
-are subject to the following license:
-
-Copyright (c) 2004 Sun Microsystems, Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
------------------------------------------
-
-MIT Kerberos includes documentation and software developed at the University of California at Berkeley, which includes this copyright notice:
-
-Copyright (C) 1983 Regents of the University of California.
-
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-3. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
------------------------------------------
-
-Portions contributed by Novell, Inc., including the LDAP database backend, are subject to the following license:
-
-Copyright (c) 2004-2005, Novell, Inc. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
- The copyright holder's name is not used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
------------------------------------------
-
-Portions funded by Sandia National Laboratory and developed by the University of Michigan's Center for Information Technology Integration, including the PKINIT implementation, are subject to the following license:
-
-COPYRIGHT (C) 2006-2007
-
-THE REGENTS OF THE UNIVERSITY OF MICHIGAN
-
-ALL RIGHTS RESERVED
-
-Permission is granted to use, copy, create derivative works and redistribute this software and such derivative works for any purpose, so long as the name of The University of Michigan is not used in any advertising or publicity pertaining to the use of distribution of this software without specific, written prior authorization. If the above copyright notice or any other identification of the University of Michigan is included in any copy of any portion of this software, then the disclaimer below must also be included.
-
-THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION FROM THE UNIVERSITY OF MICHIGAN AS TO ITS FITNESS FOR ANY PURPOSE, AND WITHOUT WARRANTY BY THE UNIVERSITY OF MICHIGAN OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE REGENTS OF THE UNIVERSITY OF MICHIGAN SHALL NOT BE LIABLE FOR ANY DAMAGES, INCLUDING SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WITH RESPECT TO ANY CLAIM ARISING OUT OF OR IN CONNECTION WITH THE USE OF THE SOFTWARE, EVEN IF IT HAS BEEN OR IS HEREAFTER ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
------------------------------------------
-
-The pkcs11.h file included in the PKINIT code has the following license:
-
-Copyright 2006 g10 Code GmbH
-
-Copyright 2006 Andreas Jellinghaus
-
-This file is free software; as a special exception the author gives unlimited permission to copy and/or distribute it, with or without modifications, as long as this notice is preserved.
-
-This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY, to the extent permitted by law; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
------------------------------------------
-
-Portions contributed by Apple Inc. are subject to the following license:
-
-Copyright 2004-2008 Apple Inc. All Rights Reserved.
-
-Export of this software from the United States of America may require a specific license from the United States Government. It is the responsibility of any person or organization contemplating export to obtain such a license before exporting.
-
-WITHIN THAT CONSTRAINT, permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Apple Inc. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Apple Inc. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.
-
-THIS SOFTWARE IS PROVIDED "AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
------------------------------------------
-
-The implementations of strlcpy and strlcat in src/util/support/strlcat.c have the following copyright and permission notice:
-
-Copyright (c) 1998 Todd C. Miller
-
-Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
------------------------------------------
-
-The implementations of UTF-8 string handling in src/util/support and src/lib/krb5/unicode are subject to the following copyright and permission notice:
-
-The OpenLDAP Public License
-
-Version 2.8, 17 August 2003
-
-Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
-
- Redistributions in source form must retain copyright statements and notices,
-
- Redistributions in binary form must reproduce applicable copyright statements and notices, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution, and
-
- Redistributions must contain a verbatim copy of this document.
-
-The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use this Software under terms of this license revision or under the terms of any subsequent revision of the license.
-
-THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS CONTRIBUTORS "AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S) OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-The names of the authors and copyright holders must not be used in advertising or otherwise to promote the sale, use or other dealing in this Software without specific, written prior permission. Title to copyright in this Software shall at all times remain with copyright holders.
-
-OpenLDAP is a registered trademark of the OpenLDAP Foundation.
-
-Copyright 1999-2003 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distribute verbatim copies of this document is granted.
-
------------------------------------------
-
-Marked test programs in src/lib/krb5/krb have the following copyright:
-
-Copyright (c) 2006 Kungliga Tekniska Hgskolan
-
-(Royal Institute of Technology, Stockholm, Sweden).
-
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
- Neither the name of KTH nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY KTH AND ITS CONTRIBUTORS "AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KTH OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/oracle.png b/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/oracle.png
deleted file mode 100644
index 63fa31d..0000000
Binary files a/LeatherProject/packages/Oracle.ManagedDataAccess.23.6.0/oracle.png and /dev/null differ