using System;
public class Test
{
public static void Main( )
{
// your code goes here
}
}
namespace A
{
public abstract class BaseClass
{
protected virtual string GetData( )
{
throw new NotImplementedException( ) ;
}
}
}
namespace B //includes a reference to A
{
public abstract class BaseClass
{
}
abstract class DerivedClassA : BaseClass
{
}
internal class DerivedClassB: DerivedClassA
{
public void write( )
{
base.GetData ( ) ; // results in error.
// The name 'GetData' does not exist in the current context
// and DerivedClassA does not contain a definition for 'GetData'
}
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCX0KfQoKICBuYW1lc3BhY2UgQQogIHsKCiAgICAgcHVibGljIGFic3RyYWN0IGNsYXNzIEJhc2VDbGFzcwogICAgIHsKICAgICAgICAgcHJvdGVjdGVkIHZpcnR1YWwgc3RyaW5nIEdldERhdGEoKQogICAgICAgICB7CiAgICAgICAgICAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24oKTsKICAgICAgICAgfQogICAgIH0KICB9CgogIG5hbWVzcGFjZSBCICAvL2luY2x1ZGVzIGEgcmVmZXJlbmNlIHRvIEEKICB7CiAgCSBwdWJsaWMgYWJzdHJhY3QgY2xhc3MgQmFzZUNsYXNzCiAgICAgewogICAgIH0KICAJCiAgCQogICAgIGFic3RyYWN0IGNsYXNzIERlcml2ZWRDbGFzc0EgOiBCYXNlQ2xhc3MKICAgICB7CgogICAgIH0KCgogICAgIGludGVybmFsIGNsYXNzIERlcml2ZWRDbGFzc0I6IERlcml2ZWRDbGFzc0EKICAgICB7CiAgICAgICAgICBwdWJsaWMgdm9pZCB3cml0ZSgpCiAgICAgICAgICB7CiAgICAgICAgICAgICBiYXNlLkdldERhdGEoKTsgLy8gcmVzdWx0cyBpbiBlcnJvci4KCiAgICAgICAgICAgICAvLyBUaGUgbmFtZSAnR2V0RGF0YScgZG9lcyBub3QgZXhpc3QgaW4gdGhlIGN1cnJlbnQgY29udGV4dAogICAgICAgICAgICAgLy8gYW5kIERlcml2ZWRDbGFzc0EgZG9lcyBub3QgY29udGFpbiBhIGRlZmluaXRpb24gZm9yICdHZXREYXRhJwogICAgICAgICAgfQogICAgIH0KICB9
compilation info
prog.cs(40,19): error CS0117: `B.DerivedClassA' does not contain a definition for `GetData'
prog.cs(30,21): (Location of the symbol related to previous error)
Compilation failed: 1 error(s), 0 warnings
stdout