解决  无法隐式转换类型'void' to...

邦德拉

知名会员
已加入
2020年10月24日
留言内容
76
编程经验
Beginner
我只是凝视着上下滚动,却不知道如何进行  :疯狂的:
我得到关注"错误CS0029无法将类型'void'隐式转换为'Joppes_hundar.Toy'".

那里有很多帖子,但似乎没有任何帮助。我遗漏了代码。请让我知道是否需要其他代码。

Method Fetch:
           public static void Fetch()
            {
                   var selectedPet = (Animal)null;
                   var selectedToy = (Toy)null;

                   int input = int.Parse(Console.ReadLine());

                   Console.Write("\n Enter index for animal: ");
                   selectedPet = Petowner.Pets[input - 1];
                   selectedToy = selectedPet.GetToy(); // The line which gives an error
                    }
                }
            }


Toy class:
    abstract class Toy
    {
       // ..
    }

Animal class:
    abstract class Animal
    {
        public void GetToy()
        {
        // ...
        }
    }
 

约翰·H

福彩12选5走势图论坛主持人
工作人员
已加入
2011年4月23日
留言内容
1,073
地点
挪威
编程经验
10+
GetToy方法被声明为void,因此它不返回任何内容。
您将void用作返回值的类型 方法 (或 局部功能)指定方法 不返回值.
 
解决方案

羊皮

退休程序员
工作人员
已加入
2018年9月5日
留言内容
1,979
地点
英国
编程经验
10+
标记为解决方案。  (y)

OP选择哪些对象等于或设置为toy的对象?
 

羊皮

退休程序员
工作人员
已加入
2018年9月5日
留言内容
1,979
地点
英国
编程经验
10+
您更改类型了吗? public void GetToy()
 

羊皮

退休程序员
工作人员
已加入
2018年9月5日
留言内容
1,979
地点
英国
编程经验
10+
好的。很高兴您能解决该问题,我将标记为已解决。  ;)
 
最佳 底部