using System;
using System.Reflection ;
public class Test
{
public static void Main( )
{
var a = typeof( ReflectionExamples) ;
MethodInfo[ ] mi = a.GetMethods ( BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance ) ; //Using BindingFlags.NonPublic does not show any results
foreach ( MethodInfo m in mi)
{
Console.WriteLine ( m.Name ) ;
}
}
}
class ReflectionExamples
{
private int Sum( int a, int b)
{
return a + b;
}
public int GetSum( int a, int b)
{
int c = Sum( a, b) ;
return c;
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uUmVmbGVjdGlvbjsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQl2YXIgYSA9IHR5cGVvZihSZWZsZWN0aW9uRXhhbXBsZXMpOwoKICAgICAgICAgICAgTWV0aG9kSW5mb1tdIG1pID0gYS5HZXRNZXRob2RzKEJpbmRpbmdGbGFncy5QdWJsaWMgfCBCaW5kaW5nRmxhZ3MuTm9uUHVibGljIHwgQmluZGluZ0ZsYWdzLkluc3RhbmNlKTsgLy9Vc2luZyBCaW5kaW5nRmxhZ3MuTm9uUHVibGljIGRvZXMgbm90IHNob3cgYW55IHJlc3VsdHMKICAgICAgICAgICAgZm9yZWFjaCAoTWV0aG9kSW5mbyBtIGluIG1pKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShtLk5hbWUpOwogICAgICAgICAgICB9Cgl9Cn0KCmNsYXNzIFJlZmxlY3Rpb25FeGFtcGxlcwogICAgewogICAgICAgIHByaXZhdGUgaW50IFN1bShpbnQgYSwgaW50IGIpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gYSArIGI7CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgaW50IEdldFN1bShpbnQgYSwgaW50IGIpCiAgICAgICAgewogICAgICAgICAgICBpbnQgYyA9IFN1bShhLCBiKTsKCiAgICAgICAgICAgIHJldHVybiBjOwoKICAgICAgICB9CiAgICB9