【发布时间】:2012-11-15 12:56:50
【问题描述】:
我有一个如下的继承模式:
public abstract class BaseAttachment
{
public abstract string GetName();
}
public abstract class BaseFileAttachment:BaseAttachment
{
public abstract string GetName();
}
public class ExchangeFileAttachment:BaseFileAttachment
{
string name;
public override string GetName()
{
return name;
}
}
我基本上是想调用 ExchangeFileAttachment 类的 GetName() 方法;但是,上面的声明是错误的。对此的任何帮助表示赞赏。谢谢
【问题讨论】:
-
您是否打算在
BaseFileAttachment上提供一个全新的GetName方法,该方法隐藏BaseAttachment.GetName?如果没有,就省略重新声明。 -
为什么
ExchangeFileAttachment声明为abstract? -
“但是,上述声明是错误的” 您确实应该在问题中提供更多详细信息。它不编译吗?它不是在做你想做的事吗?如果是,有哪些错误或不良行为?
-
@Servy 对于它的价值,这至少编译得很好,所以就是这样。当然,我认为有更多细节会非常棒。
-
@YYY 他的问题仍然可能是他的项目没有编译,这将告诉我们他的问题出在未发布的代码中,或者他在发布代码时更改了某些内容。
标签: c# .net inheritance abstract-class encapsulation