2013-07-05 10 views
32

Co to jest odpowiednik słowa kluczowego C# super słowa kluczowego (java).Równoważnik słowa kluczowego Super w C#

Mój kod Java:

public class PrintImageLocations extends PDFStreamEngine 
{ 
    public PrintImageLocations() throws IOException 
    { 
     super(ResourceLoader.loadProperties("org/apache/pdfbox/resources/PDFTextStripper.properties", true)); 
    } 

    protected void processOperator(PDFOperator operator, List arguments) throws IOException 
    { 
    super.processOperator(operator, arguments); 
    } 

Teraz co dokładnie muszę równowartość super słów kluczowych w języku C# początkowo próbował z base czy sposób użyłem bazę słów kluczowych w odpowiedni sposób

class Imagedata : PDFStreamEngine 
{ 
    public Imagedata() : base() 
    {           
     ResourceLoader.loadProperties("org/apache/pdfbox/resources/PDFTextStripper.properties", true); 
    } 

    protected override void processOperator(PDFOperator operations, List arguments) 
    { 
     base.processOperator(operations, arguments); 
    } 
} 

Czy ktoś może mi pomóc?

+1

Musisz być bardziej szczegółowe. Jaki jest twój wynik i czego się spodziewałeś? Dlaczego używasz klas Java w języku C#? – millimoose

+3

Powiedziałem, że zgaduję, że potrzebujesz 'public Imagedata(): base (ResourceLoader.loadProperties (...))'. – millimoose

+0

* "Teraz muszę przekonwertować na C# faktycznie próbowałem z bazą, ale nie mogłem znaleźć mojego oczekiwanego wyniku jako pobrane z java" * czego oczekiwałeś? –

Odpowiedz

40

C# odpowiednik kodu jest

class Imagedata : PDFStreamEngine 
    { 
    // C# uses "base" keyword whenever Java uses "super" 
    // so instead of super(...) in Java we should call its C# equivalent (base): 
    public Imagedata() 
     : base(ResourceLoader.loadProperties("org/apache/pdfbox/resources/PDFTextStripper.properties", true)) 
    { } 

    // Java methods are virtual by default, when C# methods aren't. 
    // So we should be sure that processOperator method in base class 
    // (that is PDFStreamEngine) 
    // declared as "virtual" 
    protected override void processOperator(PDFOperator operations, List arguments) 
    { 
     base.processOperator(operations, arguments); 
    } 
    } 
Powiązane problemy