“foo不包含'bar'的定义......”是什么意思?

时间:2010-11-02 12:29:07

标签: c# monodevelop

我已将MIDI.dll添加到程序集属性中,我是C#的新手,并跟随MIDI.dot.net中的示例并在device.Spec上出现此错误,Midi.InputDevice的含义不包含定义'spec'并没有扩展方法'spec'接受类型为Midi.InputDevice的第一个参数找不到(你错过了一个using指令......)?

我的using MIDI存在于顶部,我使用的是MonoDevelop IDE。

public override void Run()

        {

            // Print a table of the input device names, or "No input devices" if there are none.

            if (InputDevice.InstalledDevices.Count == 0)

            {

                Console.WriteLine("No input devices.");

            }

            else

            {

                Console.WriteLine("Input Devices:");

                foreach (InputDevice device in InputDevice.InstalledDevices)

                {

                    Console.WriteLine("  {0}", device.Spec);

                }

            }

            Console.WriteLine();



            // Print a table of the output device names, or "No output devices" if there are none.

            if (OutputDevice.InstalledDevices.Count == 0)

            {

                Console.WriteLine("No output devices.");

            }

            else

            {

2 个答案:

答案 0 :(得分:2)

你编写代码的方式,我希望Spec是InputDevice的属性。

根据您收到的错误消息,情况并非如此。 InputDevice类型上没有名为Spec的成员。

查看此处的文档:InputDevice Class它看起来应该是一个有效的属性。在您的示例中,您有Spec大写,但在您提供的错误消息中,它是小写的。我的猜测是你的真实代码是小写的。

C#区分大小写,这可能是您收到错误的原因。

答案 1 :(得分:0)

将'Sp​​ec'替换为'Name',它将完美运作!