Interface Naming Guidelines
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
[C#]
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
[C#]
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