using System;
using System.Reflection;
namespace SharpTest
{
class Base
{
public static void Test() { }
}
class Derived : Base
{
}
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("== Derived");
var methods = typeof(Derived).GetMethods(BindingFlags.Public | BindingFlags.Static);
foreach(var methodInfo in methods)
{
Console.WriteLine(methodInfo.Name);
}
Console.WriteLine();
Console.WriteLine("== Base");
methods = typeof(Base).GetMethods(BindingFlags.Public | BindingFlags.Static);
foreach(var methodInfo in methods)
{
Console.WriteLine(methodInfo.Name);
}
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uUmVmbGVjdGlvbjsKCgpuYW1lc3BhY2UgU2hhcnBUZXN0CnsKICBjbGFzcyBCYXNlCiAgewogICAgcHVibGljIHN0YXRpYyB2b2lkIFRlc3QoKSB7IH0KICB9CgogIGNsYXNzIERlcml2ZWQgOiBCYXNlCiAgewogIH0KCiAgcHVibGljIGNsYXNzIFByb2dyYW0KICB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbihzdHJpbmdbXSBhcmdzKQogICAgewogICAgICBDb25zb2xlLldyaXRlTGluZSgiPT0gRGVyaXZlZCIpOwogICAgICB2YXIgbWV0aG9kcyA9IHR5cGVvZihEZXJpdmVkKS5HZXRNZXRob2RzKEJpbmRpbmdGbGFncy5QdWJsaWMgfCBCaW5kaW5nRmxhZ3MuU3RhdGljKTsKCiAgICAgIGZvcmVhY2godmFyIG1ldGhvZEluZm8gaW4gbWV0aG9kcykKICAgICAgewogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKG1ldGhvZEluZm8uTmFtZSk7CiAgICAgIH0KCiAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCk7CiAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCI9PSBCYXNlIik7CgogICAgICBtZXRob2RzID0gdHlwZW9mKEJhc2UpLkdldE1ldGhvZHMoQmluZGluZ0ZsYWdzLlB1YmxpYyB8IEJpbmRpbmdGbGFncy5TdGF0aWMpOwoKICAgICAgZm9yZWFjaCh2YXIgbWV0aG9kSW5mbyBpbiBtZXRob2RzKQogICAgICB7CiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUobWV0aG9kSW5mby5OYW1lKTsKICAgICAgfQogICAgfQogIH0KfQo=