虚方法抛出新的NotImplementedException();

时间:2014-04-28 15:06:18

标签: c# inheritance windows-runtime

我有一个A类,一个继承的B类,另一个继承自B的C类。

在我的类A中我只想定义一些方法但不实现它,如果我将它声明为abstract,我必须在我继承的类中实现它,我不想要它。 我想在我的C类

中实现这些方法

该程序是否正确?

 public class A 
{
    public virtual string getValue()
    {
        throw new NotImplementedException();

    }
 ....
 }

第二课

public class B: A {...}

第三课

public class C:B {

   public override string getValue()
    {
        ...
        //return a string

    }

或者我必须使用界面?

1 个答案:

答案 0 :(得分:0)

您可以将该方法标记为抽象,并将B抽象化,因此只有C必须实现getValue

您当然可以使用界面,这取决于您实际在做什么。

如果您坚持使用B的实例而不使用界面,我会使用NotSupportedException代替:

public virtual string getValue()
{
    throw new NotSupportedException();
}
相关问题