System.IO.Ports Namespace
The System.IO.Ports namespace contains classes for controlling serial ports. The most important class, SerialPort, provides a framework for synchronous and event-driven I/O, access to pin and break states, and access to serial driver properties. It can be used to wrap Stream objects, allowing the serial port to be accessed by classes that use streams.
| Class | Description | |
|---|---|---|
![]() | SerialDataReceivedEventArgs | Provides data for the DataReceived event. |
![]() | SerialErrorReceivedEventArgs | Prepares data for the ErrorReceived event. |
![]() | SerialPinChangedEventArgs | Provides data for the PinChanged event. |
![]() | SerialPort | Represents a serial port resource. To browse the .NET Framework source code for this type, see the Reference Source. |
| Delegate | Description | |
|---|---|---|
![]() | SerialDataReceivedEventHandler | Represents the method that will handle the DataReceived event of a SerialPort object. |
![]() | SerialErrorReceivedEventHandler | Represents the method that will handle the ErrorReceived event of a SerialPort object. |
![]() | SerialPinChangedEventHandler | Represents the method that will handle the PinChanged event of a SerialPort object. |
| Enumeration | Description | |
|---|---|---|
![]() | Handshake | Specifies the control protocol used in establishing a serial port communication for a SerialPort object. |
![]() | Parity | Specifies the parity bit for a SerialPort object. |
![]() | SerialData | Specifies the type of character that was received on the serial port of the SerialPort object. |
![]() | SerialError | Specifies errors that occur on the SerialPort object. |
![]() | SerialPinChange | Specifies the type of change that occurred on the SerialPort object. |
![]() | StopBits | Specifies the number of stop bits used on the SerialPort object. |
The namespace includes enumerations that simplify the control of serial ports, such as Handshake, Parity, SerialPinChange, and StopBits.


