Essayez de reformuler et de résoudre :

namespace Timing_Designer
{
    public partial class TD : Form
    {
        Dictionary<string, dynamic> dictSignals = new Dictionary<string, dynamic>();
 

...

    switch (partType)
    {
        
        case "Clocks":
            Clocks tClass = new Clocks();
            dictSignals.Add(signalName, tClass);
            object currClass = dictSignals[signalName];
            txtExceptions.Text = currClass.ToString();
            List<string> myParams = currClass.parameters; <--- Error line
            break;
        default:
            // Need to make this a prompt!
            txtExceptions.Text = "No Signal Name: \"" + signalName + " \"Found\r\n\r\n";
            return;
    }

Obtention de cette erreur : l'erreur CS1061 « objet » ne contient pas de définition pour les « paramètres » et aucune méthode d'extension accessible « paramètres » acceptant un premier argument de type « objet » n'a pu être trouvée (il vous manque une directive d'utilisation ou une référence d'assemblage ? )

Si je commente la ligne de liste, je n'obtiens aucune erreur, ce qui, je suppose, indique que j'ai une entrée de dictionnaire avec le nom de clé signalName.

TxtExceptions.Text lit : Timing_Designer.Clocks qui semble indiquer que j'ai en fait chargé une copie de la classe Clocks en tant qu'objet instancié dans le dictionnaire.

Ce que je ne comprends pas et que je ne peux pas contourner, c'est l'erreur du compilateur CS1061.

Cela doit me regarder en face !

0
user3279899 14 sept. 2020 à 01:10

1 réponse

Meilleure réponse

Ce que le compilateur vous dit est vrai. object n'a en effet pas de membre appelé parameters. Auriez-vous plutôt dû déclarer currClass de type dynamic ?

2
Olivier Rogier 13 sept. 2020 à 22:32