bonjour
je travail sur un projet de type Windows Universal sous C#, ma classe principale créer par defaut est nommée MainPage dans le namespace EnergyMeter, voici comment elle ressemble :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
namespace EnergyMeter
{
 
    public sealed partial class MainPage : Page
    {
        // code ici
 
        // Declaration des propriétés
           private int a;
 
        // Declaration des méthodes
 
        // Evenement
        private void button_Click(object sender, RoutedEventArgs e)
        {
	// executer un code 
	// je fait appel a la fonction
        }
    }
 
}
du cote de l'interface j'ai créer un bouton et un textbox

Nom : Untitled.png
Affichages : 1208
Taille : 3,0 Ko

j'ai ajouté une nouvelle classe au projet nome ADE7878 dans un nouvelle feuille. cette classe represente le nom de la puce ADE7878 avec laquelle je suis entrain de travailler. je dois sauvegarder dedans les noms des registres, leur adresses et d'autres methodes utiles ......

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
namespace EnergyMeter
{
    public class ADE7878
    {
 
       /*The ADE7878 I2c address*/
        public const byte I2C_ADDR = 0x38;
 
	.......
 
	/*methode de la classe ADE7878*/
        public void SetTextbox()
        {
	// code ici
 
        }
	.......
 
    }
}
je veux par exemple dans la methode public void SetTextbox() de la classe ADE7878 modifier le textbox qui appartient a la calsse principale MainPage mais j'arrive pas a le faire.

de meme pour modifier par exemple la variable 'a' de la classe MainPage.
dans le cas ideal je procede de cette maniere :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
        public void SetTextbox()
        {
 
	MainPage.textBox.Text = "Bonjour"; // synthaxe incorrecte
 
        }
mais bon ca marchera pas car le compilateur me retourne une erreure car la synthaxe est incorrecte.
j'ai cherché un peux sur le net et j'ai trouvé cette solution mais sans issue
j'ai ajouté une propriete Name dans la classe MainPage comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
public string Name
            {
                get {return this.textBox.Text;}
                set {this.textBox.Text = value;}
            }
et du coté de la classe ADE7878 j'ai procedé de cette maniere :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
public void SetTextbox()
        {
 
	MainPage .Name = "Bonjour"; //  erreur de synthaxe
 
        }
si j'etais sous visual basic normalement ca marche.
je ne peux pas le faire de cette maniere car la proprieté Name n'est pas de type static ou const pour l'acceder a partir de la classe directement, donc je dois declarer une instance g1 de la classe Mainpage ensuite je fais appel a la proprieté Name comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
MainPage g1 = new MainPage();
 
public void SetTextbox()
        {
 
	g1.Name = "Bonjour"; // 
 
        }
le textbox n'a pas ete modifié et ca me parait logique car j'ai fait appel a la propriete Name a partir de l'instance creer g1. ca me parait logique si j'ai fais appel a Name a partir de la classe elle meme sans utiliser l'instance MainPage .Name = "Bonjour"

Que dois-je faire