Difficulty: Medium
Correct Answer: 1) The signature is the number/types of parameters. 2) Indexers are like properties but accessors take parameters. 4) The indexer's type and parameter types must be at least as accessible as the indexer.
Explanation:
Introduction / Context:
Indexers are property-like members that use parameters to provide array-style access to objects. Understanding their signatures and how they are declared on interfaces is essential for robust API design.
Given Data / Assumptions:
Concept / Approach:
Indexer signature is defined by the number and types of parameters (and modifiers like ref/out, when applicable). Indexers resemble properties, but accessors take parameters. Interface members, including indexers, have no bodies, and their accessors cannot use access modifiers; they simply declare get and/or set.
Step-by-Step Solution:
Verification / Alternative check:
Define an interface with int this[int i] { get; set; }; note there are no bodies and no accessor-level modifiers.
Why Other Options Are Wrong:
Common Pitfalls:
Trying to add public/private to interface accessors or writing method bodies inside interfaces (not allowed).
Final Answer:
1, 2, 4
Discussion & Comments