2017-07-17 3 views
-2

Je passe une instance de UserControl comme ceci au constructeur de la classe qui hérite de la classe Page et de l'interface Itemplate, j'enregistre l'instance de type userControl, maintenant Comment puis-je accéder aux méthodes de l'utilisateur Control. Ex, le nom du fichier MyUserControl est uc_test et la datagridtemplate Classe: Page, ITemplateComment accéder aux méthodes des contrôles utilisateur passés en paramètre à un constructeur

Mon UserControl a le nom de classe partielle uc_test et ont méthode

public int addtwonumbers() 
{ 
return 10+20; 
} 

datadatagridtemplate x = new datagridtemplate(this); //new instance 

Dans le fichier datagridtemplate.cs:

public datagridtemplate(UserControl uc){} 

dans Dans l'une des méthodes de la classe datagridtemplate je veux faire ce qui suit

int sum = uc.addtwonumbers(); 

Maintenant, je voulais accéder à toutes les méthodes et propriétés définies dans le test uc_test, comment puis-je y parvenir?

+0

Couler le contrôle utilisateur à votre tapez dans le constructeur: 'uc = uc comme MyType' –

+0

ici Mytype est le fichier de classe dont vous parlez? c'est-à-dire uc_test? – user14567

+0

Il serait plus clair pour tout le monde si vous avez fourni un exemple minimal: https://stackoverflow.com/help/mcve – jdv

Répondre

0

Mon UserControl a le nom de classe partielle uc_test

Comme suggéré par Jack Miller, lancez votre référence UserControl générique du type exact que vous avez créé:

uc_test ucTst = (uc_test)uc; 
int sum = ucTst.addtwonumbers(); 
+0

J'ai essayé de le faire mais il dit qu'il n'a pas pu être trouvé, j'essaye d'appeler le espace de noms et inclure dans le fichier C#, mais il renvoie une erreur. – user14567