首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >重述方法重载和多态性

重述方法重载和多态性
EN

Stack Overflow用户
提问于 2011-07-30 06:07:40
回答 3查看 96关注 0票数 0

这样的事情在C#中应该是可能的,对吧?

代码语言:javascript
运行
复制
    public void Start ()
    {
        Class1 x = new Class1 ();

        string s = Something (x);

        Console.ReadKey ();
    }

    public string Something (IInterface obj)
    {
        return foo (obj);  //  <-- Problem line
    }

    public string foo (Class1 bar)
    {
        return "Class1";
    }

    public string foo (Class2 bar)
    {
        return "Class2";
    }

    interface IInterface {}

    class Class1 : IInterface {}

    class Class2 : IInterface {}
EN

Stack Overflow用户

发布于 2011-07-30 06:13:51

代码语言:javascript
运行
复制
public string Something (IInterface obj)
{
    return foo ((Class1)obj); 
    OR // There's no way compiler to know with method to call.
    return foo ((Class2)obj); 
}

public string foo (Class1 bar)
{
    return "Class1";
}

public string foo (Class2 bar)
{
    return "Class2";
}
票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6879520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档