2010-12-04 5 views
0

J'ai une fonction comme celle-ci dans une de mes classes et j'ai besoin de l'appeler dans une autre classe et d'obtenir la valeur dans une donnée par défaut. Est-ce que n'importe qui peut m'aider dans ceci, chaque fois que j'essaye, les commandes ne sont pas héritées d'une classe à l'autre.Appel de la fonction d'une classe à une autre dans une valeur par défaut

+0

C'est exactement la même question que vous avez posée hier http://stackoverflow.com/questions/4345506/defining-function-in-one-class-and-calling-in-other-class-is-not-inheriting- le-c / – jvanrhyn

Répondre

3

Je ne suis pas sûr de ce que vous entendez par «contrôles non hérités d'une classe à l'autre». Vous allez créer un objet de cette classe dans votre autre classe et appeler la méthode correspondante.

quelque chose comme ça

class class1 
{ 
    public DataTable GetPrimaryKeyTables(string localServer, string userName, string password, string selectedDatabase) 


    ....... 
    ........ 
    return dtListOfPrimaryKeyTables; 


} 
class Class2 
{ 
    protected void BindControl(....) 
    { 
     DataTable dt = new class1().GetPrimaryKeyTables(......); 
     dgResultView.DataSource = dt; 
     dgResultView.DataBind(); 

    } 

} 

Soit vous passez « dgResultView » en tant que paramètre à la méthode que vous utilisez ou l'extrait de code ci-dessus. Les contrôles sont définis comme «protégés», par conséquent, ils ne seront pas accessibles dans l'autre classe. dgResultView.DataSource = dtListOfPrimaryKeyTables; utilisé dans la fonction ne va pas fonctionner.

C'est une bonne idée d'avoir votre chaîne de connexion et d'autres informations dans un fichier de configuration et on y accède à partir de là.

Questions connexes