Pagina 1 van 1

Interfaces, abstracte klassen, renamen van methodes in c#

Geplaatst: 01 mei 2007, 00:26
door Stino
In VB.NET bestaat er zoiets als dit:

Code: Selecteer alles

Public Interface IInterface
  Sub Methode(Parameter As String)
End Interface

Public Class Klasse Implements IInterface
  Public Sub AndereNaam(Parameter As String) IMPLEMENTS IInterface.Methode
    '
  End Sub
End Class


Het is dus mogelijk dmv het Implements keyword methodes een andere naam te geven dan de naam die gegeven werd in de interface. Ik ben op zoek naar hetzelfde maar dan in c#, weet er iemand toevallig of dat mogelijk is, en op welke manier ik dit kan doen dan? Kan dat voor het overriden bij abstracte klassen ook?

Enkel VB.NET

Geplaatst: 01 mei 2007, 06:13
door teleweb
Helaas, je stoot hier op één van de beperkingen van de C# taal...
Er zijn nog wel meer zaken die enkel in VB.NET mogelijk zijn (bvb. optionele parameters) en dit is er dus ook één van... ondanks het feit dat de onderliggende CLR dit principe van een andere naam voor een geïmplementeerde methode of functie perfect ondersteunt, biedt de taal C# daarvoor geen language construct.
Je kan dus best VB.NET gebruiken, ofwel moet je het via een zelf gedefinieerde public method in je klasse oplossen, die dan op zijn beurt de geïmplementeerde method aanroept.

Geplaatst: 01 mei 2007, 20:11
door Stino
Ok bedankt voor de uitleg teleweb, zo heb ik het ondertussen opgelost. In MSDN is ook ergens een soortgelijke constructie voor iets gelijkaardigs te vinden.