Interfaces, abstracte klassen, renamen van methodes in c#

Plaats reactie
Stino
Plus Member
Plus Member
Berichten: 163
Lid geworden op: 03 jan 2004, 13:49

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?
teleweb
Starter
Starter
Berichten: 12
Lid geworden op: 01 mei 2007, 06:04

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.
Stino
Plus Member
Plus Member
Berichten: 163
Lid geworden op: 03 jan 2004, 13:49

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.
Plaats reactie

Terug naar “Development”