C#中的返回类型

MAR*_*att 3 c#

我有两个名为ROADPATH的

public class ROAD
{
    public string getData()
    {
      return "Marlton Road";
    }
}

public class PATH
{
    public string getData()
    {
        return "Tagore Path";
    }
 }
Run Code Online (Sandbox Code Playgroud)

我在Static Void Main中有一个名为FETCH()的函数

FETCH()包含以下代码

public returnType FETCH(bool flag)
{
    if(flag)
    {
       ROAD obj=new ROAD();
       return obj;
    }
    else
    {
       PATH obj=new PATH();
       return obj;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我的问题是应该是函数FETCH()的返回类型.或者是否有任何其他方式来实现此逻辑.

Jon*_*eet 7

它必须object在这种情况下,PATH并且ROAD没有共同的基本类型.(它们也不遵循.NET命名约定 - 应该修复的东西,以及您的getData方法和FETCH方法.即使在示例代码中,也值得尝试使您的名称遵循常规约定).

考虑使这两个类实现一个接口或为它们提供一个公共基类.那个普通类型可以是该方法的返回类型.例如,看起来你可能有一个与你的getData方法接口.希望在你真正的课堂上它可以有一个更有意义的名字 - 与道路和道路有关.