Frage zu Interfaces

MasterEvil

Erfahrenes Mitglied
Kann mir bitte jemand folgenden C# Code erklären :-(

Code:
interface A {
 public something ...;
}

interface B {
 A this[int Num] {get; }
}

class CA: A {
 public int Num = 10;
}

class CB: B {
 ArrayList AList;

 A this[int Num] {
	get {
		return (A)AList[Num];
	};
 }
}

Es geht mir um die Anweisung im Interface B, was bewirkt das?
Wird aus der Klasse CB automatisch ein Array oO

Vielen Dank schonmal im Voraus :)
 
Zuletzt bearbeitet:

Alexander Schuc

crazy-weasel
Hallo.

Im Interface B ist ein Indexer definiert, und da die Klasse CB von B ableitet, muss sie diesen natürlich implementieren.

Durch Indexer kannst du eben mit einem Index auf z.b. eine Collection die in der Klasse vorhanden ist zugreifen.

Es geht mir um die Anweisung im Interface B, was bewirkt das?
Wird aus der Klasse CB automatisch ein Array oO

Ein Array wird es nicht, es bekommt halt einen Index (ist nicht zwangsläufig ein Array).

Using Indexers in C#

MfG,
Alex
 

MasterEvil

Erfahrenes Mitglied
Ah, OK.

Also eigentlich nichts anderes als eine get-Methode für ein Array die ich nicht aufrufen brauch sondern direkt am Object abfragen kann .. interessant :)
THx für den Link!!

Meine Frage hat sich diesbezüglich auch erledigt aber nur interesse halber, was ist denn wenn ich jetzt ein Array von der CB Klasse anlege, steht dann der Indexer an zweiter Stelle?
Kann schon ziemlich verwirrend sein so ein Indexer *ggg*

MFG