#c# #winforms
Вопрос:
Это мой первый раз, когда я использую winforms, и у меня также ограниченный опыт работы с C#. Я уже разобрался с несколькими проблемами, которые у меня были, но я получаю это сообщение об ошибке для приведенного ниже кода form.designer.cs: «Тип имени» ASCIIEncodingSealed «не существует в типе «ASCIIEncoding»»
Я пытаюсь отправить строку через последовательный порт на Arduino, если это поможет.
Я просмотрел несколько решений, но при поиске кода ошибки появляется не так много релевантных. Любая помощь будет очень признательна!
Я поставил пробел и стрелки вокруг строки, на которую ссылается ошибка, в приведенном ниже коде:
{
using System.Text;
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing amp;amp; (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
//VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
System.Text.ASCIIEncoding.ASCIIEncodingSealed asciiEncodingSealed3 = new System.Text.ASCIIEncoding.ASCIIEncoding();
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
System.Text.DecoderReplacementFallback decoderReplacementFallback3 = new System.Text.DecoderReplacementFallback();
System.Text.EncoderReplacementFallback encoderReplacementFallback3 = new System.Text.EncoderReplacementFallback();
this.port = new System.IO.Ports.SerialPort(this.components);
this.SuspendLayout();
//
// port
//
this.port.BaudRate = 9600;
this.port.DataBits = 8;
this.port.DiscardNull = false;
this.port.DtrEnable = false;
asciiEncodingSealed3.DecoderFallback = decoderReplacementFallback3;
asciiEncodingSealed3.EncoderFallback = encoderReplacementFallback3;
this.port.Encoding = asciiEncodingSealed3;
this.port.Handshake = System.IO.Ports.Handshake.None;
this.port.NewLine = "n";
this.port.Parity = System.IO.Ports.Parity.None;
this.port.ParityReplace = ((byte)(63));
this.port.PortName = "COM6";
this.port.ReadBufferSize = 4096;
this.port.ReadTimeout = -1;
this.port.ReceivedBytesThreshold = 1;
this.port.RtsEnable = false;
this.port.StopBits = System.IO.Ports.StopBits.One;
this.port.WriteBufferSize = 2048;
this.port.WriteTimeout = -1;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(484, 461);
this.Name = "Form1";
this.Text = "Form1";
this.Load = new System.EventHandler(this.Form1_Load);
this.MouseMove = new System.Windows.Forms.MouseEventHandler(this.Form1_MouseMove);
this.ResumeLayout(false);
}
private System.IO.Ports.SerialPort port;
#endregion
}
}```
Комментарии:
1. Почему вы ожидаете, что там будет ан
ASCIIEncodingSealed
?2. Что такое
ASCIIEncodingSealed
? Такого типа рамок не существует. Откуда взялся этот тип? Можете ли вы связать учебник (сайт), который вы используете?3. @Sintar Я не писал большую часть этой части кода. Он был автоматически создан, когда я разрабатывал форму (я предполагаю). Я не уверен, почему эта часть кода существует, но я предполагаю, что она как-то связана с отправкой значений ASCII через последовательный порт
4. @Llama Смотрите мой комментарий выше. Я даже не совсем уверен, для чего предназначена эта строка. Хотя у меня есть некоторый опыт программирования на нескольких языках, C#, winforms и передача данных через порты-все это довольно ново для меня
5.
ASCIIEncodingSealed
действительно существует — это просто внутренняя деталь реализации: github.com/dotnet/runtime/blob/. … Я предполагаю, что в конструкторе есть ошибка, и он генерирует неправильный код, который не будет компилироваться.