public abstract class AKlass
{
public static void Foo()
{
//ここでInheritedKlass.Foo()として呼ばれたか
//AnotherInheritedKlass.Foo()として呼ばれたか知りたい
}
}
public class InheritedKlass : AKlass
{
}
public class AnotherInheritedKlass : AKlass
{
}
class Program
{
public static void Main()
{
InheritedKlass.Foo();
AnotherInheritedKlass.Foo();
}
}
cHVibGljIGFic3RyYWN0IGNsYXNzIEFLbGFzcwp7CglwdWJsaWMgc3RhdGljIHZvaWQgRm9vKCkKCXsKCQkvL+OBk+OBk+OBp0luaGVyaXRlZEtsYXNzLkZvbygp44Go44GX44Gm5ZG844Gw44KM44Gf44GLCgkJLy9Bbm90aGVySW5oZXJpdGVkS2xhc3MuRm9vKCnjgajjgZfjgablkbzjgbDjgozjgZ/jgYvnn6XjgorjgZ/jgYQKCX0KfQoKcHVibGljIGNsYXNzIEluaGVyaXRlZEtsYXNzIDogQUtsYXNzCnsKCQp9CgpwdWJsaWMgY2xhc3MgQW5vdGhlckluaGVyaXRlZEtsYXNzIDogQUtsYXNzCnsKCQp9CgpjbGFzcyBQcm9ncmFtCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQlJbmhlcml0ZWRLbGFzcy5Gb28oKTsKCQlBbm90aGVySW5oZXJpdGVkS2xhc3MuRm9vKCk7Cgl9Cn0K