Klasa je korisnički definirani tip podataka koji omogućuje grupiranje članova, metoda, svojstava i događaja. Razred nije ništa drugo do nacrt koji definira podatke i ponašanje. Objekti su instance klase. U C #, klase su definirane pomoću ključne riječi 'class', a slijedi naziv klase koji sadrži tijelo klase okruženo kovrčavim zagradama. Svaka klasa ima konstruktor koji ima isto ime kao i klasa i automatski se poziva u trenutku inicijacije klase.
Primjer nastave u C #
Sučelje sadrži samo potpis članova: metode, svojstva, događaje ili indeksere. Ne sadrži definiciju ovih članova. Definicija ovih članova je na klasi koja izvodi ovo sučelje. Klasa je obvezna za provedbu svih članova sučelja.
Primjer sučelja u C #:
U gornjem primjeru, klasa CalculatorImplementer provodi metodu add () i oduzeti () deklariranu u sučelju Calculate..