SerialPort.Parity プロパティ

定義

パリティ チェック プロトコルを取得または設定します。

public System.IO.Ports.Parity Parity { get; set; }
[System.ComponentModel.Browsable(true)]
public System.IO.Ports.Parity Parity { get; set; }

プロパティ値

パリティ チェック プロトコルを表す列挙値のいずれか。 既定値は、None です。

属性

例外

ポートが無効状態です。

- または -

基本ポートの状態を設定しようとしましたが失敗しました。 たとえば、この SerialPort オブジェクトから渡されたパラメーターが無効であるなどです。

渡された Parity 値は、Parity 列挙体の有効値ではありません。

次のコード例では、 クラスを SerialPort 使用して、2 人のユーザーが null モデム ケーブルで接続されている 2 つの個別のコンピューターからチャットできるようにします。 この例では、チャットする前に、ユーザーにポート設定とユーザー名の入力を求められます。 このコード例は、 クラスに対して提供されるより大きなコード例の SerialPort 一部です。

public static void Main()
{
    string name;
    string message;
    StringComparer stringComparer = StringComparer.OrdinalIgnoreCase;
    Thread readThread = new Thread(Read);

    // Create a new SerialPort object with default settings.
    _serialPort = new SerialPort();

    // Allow the user to set the appropriate properties.
    _serialPort.PortName = SetPortName(_serialPort.PortName);
    _serialPort.BaudRate = SetPortBaudRate(_serialPort.BaudRate);
    _serialPort.Parity = SetPortParity(_serialPort.Parity);
    _serialPort.DataBits = SetPortDataBits(_serialPort.DataBits);
    _serialPort.StopBits = SetPortStopBits(_serialPort.StopBits);
    _serialPort.Handshake = SetPortHandshake(_serialPort.Handshake);

    // Set the read/write timeouts
    _serialPort.ReadTimeout = 500;
    _serialPort.WriteTimeout = 500;

    _serialPort.Open();
    _continue = true;
    readThread.Start();

    Console.Write("Name: ");
    name = Console.ReadLine();

    Console.WriteLine("Type QUIT to exit");

    while (_continue)
    {
        message = Console.ReadLine();

        if (stringComparer.Equals("quit", message))
        {
            _continue = false;
        }
        else
        {
            _serialPort.WriteLine(
                String.Format("<{0}>: {1}", name, message));
        }
    }

    readThread.Join();
    _serialPort.Close();
}

public static void Read()
{
    while (_continue)
    {
        try
        {
            string message = _serialPort.ReadLine();
            Console.WriteLine(message);
        }
        catch (TimeoutException) { }
    }
}

注釈

パリティは、エラーなしで送信されるビットのグループごとに、1 の数が常に同じ (偶数または奇数) である必要があるエラー チェック プロシージャです。 モデム間通信では、パリティは多くの場合、送信を行う前にパーティと受信側を送信することで合意する必要があるパラメーターの 1 つです。

ストリームの末尾のバイトでパリティ エラーが発生した場合、値 126 の追加バイトが入力バッファーに追加されます。

適用対象

製品 バージョン
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1