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
{
abstract class DerivedClassA : A.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'
}
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCX0KfQoKICBuYW1lc3BhY2UgQQogIHsKCiAgICAgcHVibGljIGFic3RyYWN0IGNsYXNzIEJhc2VDbGFzcwogICAgIHsKICAgICAgICAgcHJvdGVjdGVkIHZpcnR1YWwgc3RyaW5nIEdldERhdGEoKQogICAgICAgICB7CiAgICAgICAgICAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24oKTsKICAgICAgICAgfQogICAgIH0KICB9CgogIG5hbWVzcGFjZSBCICAvL2luY2x1ZGVzIGEgcmVmZXJlbmNlIHRvIEEKICB7CiAgICAgYWJzdHJhY3QgY2xhc3MgRGVyaXZlZENsYXNzQSA6IEEuQmFzZUNsYXNzCiAgICAgewoKICAgICB9CgoKICAgICBpbnRlcm5hbCBjbGFzcyBEZXJpdmVkQ2xhc3NCOiBEZXJpdmVkQ2xhc3NBCiAgICAgewogICAgICAgICAgcHVibGljIHZvaWQgd3JpdGUoKQogICAgICAgICAgewogICAgICAgICAgICAgYmFzZS5HZXREYXRhKCk7IC8vIHJlc3VsdHMgaW4gZXJyb3IuCgogICAgICAgICAgICAgLy8gVGhlIG5hbWUgJ0dldERhdGEnIGRvZXMgbm90IGV4aXN0IGluIHRoZSBjdXJyZW50IGNvbnRleHQKICAgICAgICAgICAgIC8vIGFuZCBEZXJpdmVkQ2xhc3NBIGRvZXMgbm90IGNvbnRhaW4gYSBkZWZpbml0aW9uIGZvciAnR2V0RGF0YScKICAgICAgICAgIH0KICAgICB9CiAgfQ==