2010-11-03 7 views
7

J'ai un certain nombre de classes dans un fichier Classes, et je veux qu'elles puissent toutes accéder à la même méthode globale pour enregistrer le code de duplication. Le problème est, je ne peux pas sembler accéder à une méthode d'une autre classe dans mon dossier - des idées?Accès aux méthodes d'une autre classe en C#

donc ma mise en page de class1.cs est semblable à ceci:

public class Job1 
{ 
    public Job1() 
    { 

    } 
} 

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

Avez-vous essayé 'Methods.Method1()'? – strager

+2

IMO vous devez lire un certain article. –

+0

On dirait que vous êtes nouveau à POO. Ce n'est pas une mauvaise chose, tout le monde doit commencer quelque part. Vous feriez bien de lire un livre sur la POO en plus du codage pour obtenir des notions fondamentales qui sont très importantes pour tous les langages POO. – xbonez

Répondre

10

Vous devez spécifier la classe, ils sont comme ceci:.

public Job1() 
{ 
    Methods.Method1() 
} 

Si la classe est Job1 un espace de noms différent de Methods alors vous devrez soit ajouter une clause using, soit spécifier l'espace de noms lors de l'appel de la méthode. Name.Space.Methods.Method1()

+0

Ahh, je me sens extrêmement stupide. Était sûr que cela n'a pas fonctionné quand je l'ai essayé avant. Eh bien, fonctionne très bien maintenant - mon pote! – Chris

1

En fait. Public Job1() {} est un constructeur et non une méthode. Il peut être appelé depuis la classe principale en créant un objet de la classe JOB1. Ici ajoutez le code suivant:

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

peut être invoquée par la création d'un objet à la classe corressponding ....

0

Pour accéder à des méthodes d'autres classes, les méthodes doivent être statiques avec un modificateur d'accès du public .

static - Non lié à une instance de la classe mais partagé par toutes les autres instances.

private - les données ne sont accessibles qu'à l'intérieur de la même classe.

public - les données sont accessibles à partir d'autres classes mais doivent être référencées.

Questions connexes