2010-11-03 25 views
7

Ich habe eine Reihe von Klassen in einer Classes-Datei, und ich möchte, dass alle auf die gleiche globale Methode zugreifen können, um Duplizierungscode zu speichern. Das Problem ist, ich kann nicht auf eine Methode aus einer anderen Klasse in meiner Datei zugreifen - irgendwelche Ideen?Zugriff auf Methoden aus einer anderen Klasse in C#

Also mein class1.cs Layout ist ähnlich wie folgt aus:

public class Job1 
{ 
    public Job1() 
    { 

    } 
} 

public class Methods 
{ 
    public static void Method1() 
    { 
     //Want to access method here from Job1 
    } 
} 
+1

Haben Sie 'Methods.Method1()' versucht? – strager

+2

IMO müssen Sie einige oop Artikel lesen. –

+0

Scheint so, als wärst du neu in OOP. Keine schlechte Sache, jeder muss irgendwo anfangen. Sie würden gut daran tun, ein OOP-Buch neben der Codierung zu lesen, um einige Grundlagen zu erhalten, die für alle OOP-Sprachen sehr wichtig sind. – xbonez

Antwort

10

Sie verlassen nun die Klasse, die sie sind in angeben müssen wie folgt aus:.

public Job1() 
{ 
    Methods.Method1() 
} 

Wenn die Klasse Job1 ist in Ein anderer Namespace von Methods Dann müssen Sie entweder eine using-Klausel hinzufügen oder den Namespace beim Aufrufen der Methode angeben. Name.Space.Methods.Method1()

+0

Ahh, ich fühle mich extrem dumm. War sicher, dass das nicht funktionierte, als ich es vorher versuchte. Ah gut, funktioniert jetzt großartig - Prost Kumpel! – Chris

1

Eigentlich. Public Job1() {} ist ein Konstruktor und keine Methode. Es kann von der Hauptklasse aus aufgerufen werden, indem ein Objekt aus der JOB1-Klasse erzeugt wird. Hier fügen Sie den folgenden Code ein:

public static void method1() 
{ 
Job1 j1=new Job1(); 
} 

Konstruktor kann durch die Schaffung eines Objekts auf die corressponding Klasse aufgerufen werden ....

0

Um Methoden anderer Klassen zuzugreifen, müssen die Methoden statisch sein mit einem öffentlichen Zugriffsmodifikator .

static - Nicht an eine Instanz der Klasse gebunden, aber für alle anderen Instanzen freigegeben.

private - Auf Daten kann nur innerhalb derselben Klasse zugegriffen werden.

public - Daten können von anderen Klassen abgerufen werden, müssen aber referenziert werden.

Verwandte Themen