To |
Do this |
Create an indexer for a class or struct |
Declare the type of the indexer, followed by the keyword this, and then the indexer arguments between square brackets. The body of the indexer can contain a get and/or set accessor. For example: struct RawInt { ... public bool this [ int index ] { get { ... } set { ... } } ... } |
Define an indexer in an interface |
Define an indexer with the get and/or set keywords. For example: interface IRawInt { bool this [ int index ] get; set; } } |
Implement an interface indexer in a class or struct |
In the class or struct that implements the interface, define the indexer and implement the accessors. For example: struct RawInt : IRawInt { ... public bool this [ int index ] { get { ... } set { ... } } ... } |
Implement an interface indexer by using explicit interface implementation in a class or struct |
In the class or struct that implements the interface, explicitly name the interface, but do not specify the indexer accessibility. For example: struct RawInt : IRawInt { ... bool IRawInt.this [ int index ] { get { ... } set { ... } } ... } |