Namenskonflikte in Schnittstellen lösen

Wenn Sie in einer Klasse mehrere Schnittstellen implementieren, kann es zu Namenskonflikten zwischen den Membern der verschiedenen Schnittstellen kommen.

interface IA
{
    void DoSomething();
}
interface IB : IA
{
    void DoMore();
}
interface IC
{
    void DoSomething();
}


class Demo : IA, IB, IC
{
    // ...
}

Hier verpflichtet sich die Klasse Demo, die Methode DoSomething() sowohl für IA, als auch IB und IC zu implementieren. Die Klasse muss die Methode deswegen allerdings nicht dreimal definieren (was im Übrigen ja auch gar nicht erlaubt wäre). Es genügt, wenn sie eine Methodendefinition vorsieht, die der Compiler dann als Implementierung zu allen drei Schnittstellen wertet.

Dieser Ansatz ist sehr bequem, führt aber ...

Get Microsoft Visual C# 2010 - Das Entwicklerbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.