C# Language Interfaces


Interfaces should be named with nouns or noun phrases, or adjectives that describe behaviour. For example IComponent uses a descriptive noun, ICustomAttributeProvider uses a noun phrase and IPersistable uses an adjective.

Interface names should be prefixed with the letter I, to indicate that the type is an interface, and Pascal case should be used.

Below are correctly named interfaces:

public interface IServiceProvider
public interface IFormatable