This documentation is archived and is not being maintained.

Interface Naming Guidelines

.NET Framework 1.1

The following rules outline the naming guidelines for interfaces:

  • Name interfaces with nouns or noun phrases, or adjectives that describe behavior. For example, the interface name IComponent uses a descriptive noun. The interface name ICustomAttributeProvider uses a noun phrase. The name IPersistable uses an adjective.
  • Use Pascal case.
  • Use abbreviations sparingly.
  • Prefix interface names with the letter I, to indicate that the type is an interface.
  • Use similar names when you define a class/interface pair where the class is a standard implementation of the interface. The names should differ only by the letter I prefix on the interface name.
  • Do not use the underscore character (_).

The following are examples of correctly named interfaces.

Public Interface IServiceProvider
Public Interface IFormatable
public interface IServiceProvider
public interface IFormatable

The following code example illustrates how to define the interface IComponent and its standard implementation, the class Component.

Public Interface IComponent
   ' Implementation code goes here.
End Interface

Public Class Component
   Implements IComponent
   ' Implementation code goes here.
End Class

public interface IComponent 
   // Implementation code goes here.
public class Component: IComponent 
   // Implementation code goes here.

See Also

Design Guidelines for Class Library Developers | Base Class Usage Guidelines