
20 Interfaces
20.2 Interface members
Paragraph 11 The members of an interface are the members inherited from the base interfaces and the members declared by the interface itself. interface-member-declarations : interface-member-declaration interface-member-declarations interface-member-declaration interface-member-declaration : interface-method-declaration interface-property-declaration interface-event-declaration interface-indexer-declaration
Paragraph 21 An interface declaration may declare zero or more members. 2 The members of an interface must be methods, properties, events, or indexers. 3 An interface cannot contain constants, fields, operators, instance constructors, destructors, or types, nor can an interface contain static members of any kind.
Paragraph 31 All interface members implicitly have public access. 2 It is a compile-time error for interface member declarations to include any modifiers. 3 In particular, interface members cannot be declared with the modifiers abstract, public, protected, internal, private, virtual, override, or static. [Example: The example
public delegate void StringListEvent(IStringList sender);
public interface IStringList
{
void Add(string s);
int Count { get; }
event StringListEvent Changed;
string this[int index] { get; set; }
}
declares an interface that contains one each of the possible kinds of members: A method, a property, an event, and an indexer. end example]
Paragraph 41 An interface-declaration creates a new declaration space (§10.3), and the interface-member-declarations immediately contained by the interface-declaration introduce new members into this declaration space. 2 The following rules apply to interface-member-declarations:
| |
| Jagger Software Ltd | |
| Company # 4070126 | |
| VAT # 762 5213 42 |