Bonjour.
Dans mon application, je fais appel à 4 webservices différents mais qui contiennent tous un même groupe de propriétés (les propriétés génériques). Celles-ci n'existent hélas pas dans une classe parente.
- JKL.wsAnalogIn.AnalInIOConfigs_DataGridView.rowRecord_AnalIn
- JKL.wsAnalogOut.AnalOutIOConfigs_DataGridView.rowRecord_AnalOut
- JKL.wsDigitalIn.DigitInIOConfigs_DataGridView.rowRecord_DigitIn
- JKL.wsDigitalOut.DigitOutIOConfigs_DataGridView.rowRecord_DigitOut
J'ai une fonction de test commune:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
        // Load the row cells values of a record into the appropriated cells of the DataGridView.
        private void loadRecordCells_CellsRowDGV(DataGridViewCellEventArgs argums, string nameColumnEtiquette, ???)
        {
            if (!string.IsNullOrEmpty(rec_AnalIn.Name))
                this.Rows[argums.RowIndex].Cells[nameColumnEtiquette].Value = ???.Name;
 
            this.Rows[argums.RowIndex].Cells["Enabled"].Value = ???.Enable;
 
            this.Rows[argums.RowIndex].Cells["DataBase ID"].Value = ???.dbID.ToString();
        }
Dans cette fonction, ??? est par exemple la propriété 'rec_AnalIn' (4) et devrait être passée sous forme d'un paramètre supplémentaire, mais comme les 3 dernières des 4 composantes de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
JKL.wsAnalogIn.AnalInIOConfigs_DataGridView.rowRecord_AnalIn
sont spécifiques sur 3 niveaux hiérarchiques, je me demande quel est le type de l'argument que je pourrais spécifier. Si j'emploie 'Object', il me faudra 'caster' et donc reconnaître à l'intérieur de la fonction générique lequel des 4 types est d'application, au cas par cas, ce qui nest pas possible.
Comment faire ?

L'un des quatre appels de cette fonction serait donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
// Generic
                    loadRecordCells_CellsRowDGV(args, "Analog In", ???);
Quelqu'un peut-il me conseiller ?
Merci d'avance.