*If keyword is abstract, it would never compile.*
Error message will be "Cannot call an abstract base member: 'A.method1()'"
*Code for Abstract method*
=====================
using System;
abstract class A
{
public abstract void method1();
}
class B:A
{
public override void method1()
{
base.method1();
Console.WriteLine("B-->method1");
}
}
class MainClass
{
public static void Main()
{
B b = new B();
b.method1();
}
}
*Code for Virtual method*
===================
using System;
class A
{
public virtual void method1(){}
}
class B:A
{
public override void method1()
{
base.method1();
Console.WriteLine("B-->method1");
}
}
class MainClass
{
public static void Main()
{
B b = new B();
b.method1();
}
}
On Mon, Jun 14, 2010 at 10:22 AM, Akter Suriya <[email protected]>wrote:
> One of my friend asked me this question.
>
> class A
> {
> XXX method1()
> ......
> }
>
>
> class B : A
> {
> override method1 ()
> {
> base.method1();
> }
> }
>
> He says, how can we identify, XXX (written in front of method1 in class A)
> is virtual or abstract.
> Can anybody help me. Thanks.
>
> --
> Suriya
>
>