Ошибка C # CS1061 ‘object’ не содержит определения для ‘parameters’

#c# #class #dictionary #object #compiler-errors

#c# #класс #словарь #объект #ошибки компилятора

Вопрос:

Пытаюсь перефразировать и решить:

 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   " "Foundrnrn";
            return;
    }
  

Получение этой ошибки:
Ошибка CS1061 ‘object’ не содержит определения для ‘parameters’ и не удалось найти доступный метод расширения ‘parameters’, принимающий первый аргумент типа ‘object’ (вам не хватает директивы using или ссылки на сборку?)

Если я закомментирую строку списка, я не получу ошибок, что, как я предполагаю, указывает на то, что у меня есть словарная запись с именем ключа signalName.

txtExceptions.Текст гласит: Timing_Designer.Часы, которые, по-видимому, указывают на то, что я действительно загрузил копию класса Clocks в качестве экземпляра объекта в словарь.

Чего я не понимаю и не могу обойти, так это ошибку компилятора CS1061.

Это, должно быть, бросается мне в глаза!

Ответ №1:

То, что говорит вам компилятор, верно. object действительно, у него нет вызываемого элемента parameters . Следует ли вместо этого объявлять currClass тип dynamic ?

Комментарии:

1. Спасибо! Я не был знаком с динамическим типом…