<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FReflection%2FMethod</id>
		<title>Csharp/CSharp Tutorial/Reflection/Method - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FReflection%2FMethod"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Reflection/Method&amp;action=history"/>
		<updated>2026-04-29T17:05:56Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Reflection/Method&amp;diff=5950&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Reflection/Method&amp;diff=5950&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:53Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Reflection/Method&amp;diff=5951&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Reflection/Method&amp;diff=5951&amp;oldid=prev"/>
				<updated>2010-05-26T12:17:49Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Call string method with reflection and Expression==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Linq.Expressions;&lt;br /&gt;
using System.Reflection;&lt;br /&gt;
    class MainClass&lt;br /&gt;
    {&lt;br /&gt;
        static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            MethodInfo method = typeof(string).GetMethod(&amp;quot;StartsWith&amp;quot;, new[] { typeof(string) });&lt;br /&gt;
            var target = Expression.Parameter(typeof(string), &amp;quot;x&amp;quot;);&lt;br /&gt;
            var methodArg = Expression.Parameter(typeof(string), &amp;quot;y&amp;quot;);&lt;br /&gt;
            Expression[] methodArgs = new[] { methodArg };&lt;br /&gt;
            Expression call = Expression.Call(target, method, methodArgs);&lt;br /&gt;
            var lambdaParameters = new[] { target, methodArg };&lt;br /&gt;
            var lambda = Expression.Lambda&amp;lt;Func&amp;lt;string, string, bool&amp;gt;&amp;gt;(call, lambdaParameters);&lt;br /&gt;
            var compiled = lambda.rupile();&lt;br /&gt;
            Console.WriteLine(compiled(&amp;quot;First&amp;quot;, &amp;quot;S&amp;quot;));&lt;br /&gt;
        }&lt;br /&gt;
    }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Deeper Reflection: Invoking Functions==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Reflection;&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
    public static void Main(String[] args)&lt;br /&gt;
    {&lt;br /&gt;
        string aname = &amp;quot;MyClass&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
        Console.WriteLine(&amp;quot;Loading: {0}&amp;quot;, aname);&lt;br /&gt;
        Assembly a = Assembly.LoadFrom (aname);&lt;br /&gt;
        &lt;br /&gt;
        foreach (Type t in a.GetTypes())&lt;br /&gt;
        {&lt;br /&gt;
            if (t.IsClass)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine(&amp;quot;  Found Class: {0}&amp;quot;, t.FullName);&lt;br /&gt;
                &lt;br /&gt;
                if (t.GetInterface(&amp;quot;MyInterface&amp;quot;) == null)&lt;br /&gt;
                    continue;&lt;br /&gt;
                &lt;br /&gt;
                object o = Activator.CreateInstance(t);&lt;br /&gt;
                &lt;br /&gt;
                Console.WriteLine(&amp;quot;    Calling Process() on {0}&amp;quot;, t.FullName);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
//File: MyClass.cs&lt;br /&gt;
interface MyInterface{&lt;br /&gt;
  void MyMethod(int i);&lt;br /&gt;
}&lt;br /&gt;
class MyClass: MyInterface{&lt;br /&gt;
   public void MyMethod(int i){&lt;br /&gt;
      Console.WriteLine(&amp;quot;i:&amp;quot;+i);&lt;br /&gt;
   }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Deeper Reflection: iterate through the methods of the class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Reflection;&lt;br /&gt;
class MyClass&lt;br /&gt;
{&lt;br /&gt;
    MyClass() {}&lt;br /&gt;
    static void Process()&lt;br /&gt;
    {&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public int MyFunction(int i, Decimal d, string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        return(0);&lt;br /&gt;
    }&lt;br /&gt;
    public int        value = 0;&lt;br /&gt;
    public float        log = 1.0f;&lt;br /&gt;
    public static int    value2 = 44;&lt;br /&gt;
}&lt;br /&gt;
class MainClass&lt;br /&gt;
{    &lt;br /&gt;
    public static void Main(String[] args)&lt;br /&gt;
    {&lt;br /&gt;
        Console.WriteLine(&amp;quot;Fields of MyClass&amp;quot;);&lt;br /&gt;
        Type t = typeof (MyClass);&lt;br /&gt;
        &lt;br /&gt;
        Console.WriteLine(&amp;quot;Methods of MyClass&amp;quot;);&lt;br /&gt;
        foreach (MethodInfo m in t.GetMethods())&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;{0}&amp;quot;, m);&lt;br /&gt;
            foreach (ParameterInfo p in m.GetParameters())&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine(&amp;quot;  Param: {0} {1}&amp;quot;,&lt;br /&gt;
                p.ParameterType, p.Name);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Fields of MyClass&lt;br /&gt;
Methods of MyClass&lt;br /&gt;
Int32 MyFunction(Int32, System.Decimal, System.String[])&lt;br /&gt;
  Param: System.Int32 i&lt;br /&gt;
  Param: System.Decimal d&lt;br /&gt;
  Param: System.String[] args&lt;br /&gt;
System.Type GetType()&lt;br /&gt;
System.String ToString()&lt;br /&gt;
Boolean Equals(System.Object)&lt;br /&gt;
  Param: System.Object obj&lt;br /&gt;
Int32 GetHashCode()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dynamically Invoking A Method==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Reflection;&lt;br /&gt;
using System.Text;&lt;br /&gt;
    public class Tester&lt;br /&gt;
    {&lt;br /&gt;
        public static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            Type theMathType = Type.GetType(&amp;quot;System.Math&amp;quot;);&lt;br /&gt;
            Type[] paramTypes = new Type[1];&lt;br /&gt;
            paramTypes[0] = Type.GetType(&amp;quot;System.Double&amp;quot;);&lt;br /&gt;
            MethodInfo CosineInfo = theMathType.GetMethod(&amp;quot;Cos&amp;quot;, paramTypes);&lt;br /&gt;
            Object[] parameters = new Object[1];&lt;br /&gt;
            parameters[0] = 45 * (Math.PI / 180); &lt;br /&gt;
            Object returnVal = CosineInfo.Invoke(theMathType, parameters);&lt;br /&gt;
            Console.WriteLine(returnVal);&lt;br /&gt;
        }&lt;br /&gt;
    }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Finding Particular Members==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Reflection;&lt;br /&gt;
using System.Text;&lt;br /&gt;
&lt;br /&gt;
    public class Tester&lt;br /&gt;
    {&lt;br /&gt;
        public static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            Type theType = Type.GetType(&amp;quot;System.Reflection.Assembly&amp;quot;);&lt;br /&gt;
            MemberInfo[] mbrInfoArray = theType.FindMembers(&lt;br /&gt;
                                MemberTypes.Method,&lt;br /&gt;
                                BindingFlags.Public |&lt;br /&gt;
                                BindingFlags.Static |&lt;br /&gt;
                                BindingFlags.NonPublic |&lt;br /&gt;
                                BindingFlags.Instance |&lt;br /&gt;
                                BindingFlags.DeclaredOnly,&lt;br /&gt;
                                Type.FilterName, &amp;quot;Get*&amp;quot;);&lt;br /&gt;
            foreach (MemberInfo mbrInfo in mbrInfoArray)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine(&amp;quot;{0} is a {1}&amp;quot;,&lt;br /&gt;
                                mbrInfo, mbrInfo.MemberType);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Inspecting a method&amp;quot;s body==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Threading;&lt;br /&gt;
using System.Reflection;&lt;br /&gt;
using System.Reflection.Emit;&lt;br /&gt;
public class MainClass&lt;br /&gt;
{&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        MethodInfo m = typeof(object).GetMethod(&amp;quot;ToString&amp;quot;);&lt;br /&gt;
        MethodBody mb = m.GetMethodBody();&lt;br /&gt;
        byte[] ilb = mb.GetILAsByteArray();&lt;br /&gt;
        for (int i = 0; i &amp;lt; ilb.Length; i++)&lt;br /&gt;
            Console.Write(&amp;quot;{0:X} &amp;quot;, ilb[i]);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;2 28 9 0 0 6 6F 2 0 0 6 2A&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Invoke member method with created instance from reflection==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Reflection;&lt;br /&gt;
using System.Globalization;&lt;br /&gt;
  class Class1&lt;br /&gt;
  {&lt;br /&gt;
    DateTime[] dateTimes = new DateTime[10];&lt;br /&gt;
    public DateTime this[int index]&lt;br /&gt;
    {&lt;br /&gt;
      get{ return dateTimes[index]; }&lt;br /&gt;
      set{ dateTimes[index] = value;}&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    private DateTime dateOfBirth;&lt;br /&gt;
    public DateTime DateOfBirth&lt;br /&gt;
    {&lt;br /&gt;
        get{ return dateOfBirth; }&lt;br /&gt;
        set{ dateOfBirth = value; }&lt;br /&gt;
    }&lt;br /&gt;
      &lt;br /&gt;
    public void Test()&lt;br /&gt;
    {&lt;br /&gt;
      Console.WriteLine(&amp;quot;Test method called&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    private string field;&lt;br /&gt;
    &lt;br /&gt;
    public string Property&lt;br /&gt;
    { &lt;br /&gt;
      get{ return field; }&lt;br /&gt;
      set{ field = value; }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
    class MainClass{&lt;br /&gt;
    &lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
      Type type = Type.GetType(&amp;quot;Class1&amp;quot;);&lt;br /&gt;
      object o = Activator.CreateInstance(type);&lt;br /&gt;
      &lt;br /&gt;
      type.InvokeMember(&amp;quot;Test&amp;quot;, BindingFlags.InvokeMethod,null, o, new object[]{});&lt;br /&gt;
      &lt;br /&gt;
      // Using a ConstructorInfo&lt;br /&gt;
      ConstructorInfo constructorInfo = type.GetConstructor(new Type[]{});&lt;br /&gt;
        &lt;br /&gt;
      o = constructorInfo.Invoke(new object[]{});&lt;br /&gt;
      &lt;br /&gt;
      type.InvokeMember(&amp;quot;Test&amp;quot;, BindingFlags.InvokeMethod,null, o, new object[]{});&lt;br /&gt;
      &lt;br /&gt;
      // Type.InvokeMember&lt;br /&gt;
      o = type.InvokeMember(&amp;quot;Class1&amp;quot;, BindingFlags.CreateInstance, null, null, new object[]{});&lt;br /&gt;
      &lt;br /&gt;
      type.InvokeMember(&amp;quot;Test&amp;quot;, BindingFlags.InvokeMethod,null, o, new object[]{});&lt;br /&gt;
    }&lt;br /&gt;
    }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Invoke methods using reflection==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System; &lt;br /&gt;
using System.Reflection; &lt;br /&gt;
 &lt;br /&gt;
class MyClass { &lt;br /&gt;
 &lt;br /&gt;
  public MyClass(int i, int j) { &lt;br /&gt;
    Console.WriteLine(&amp;quot;MyClass(int i, int j)&amp;quot;);&lt;br /&gt;
    Console.WriteLine(i);&lt;br /&gt;
    Console.WriteLine(j);&lt;br /&gt;
  } &lt;br /&gt;
 &lt;br /&gt;
  public int sum() { &lt;br /&gt;
    Console.WriteLine(&amp;quot;sum&amp;quot;);&lt;br /&gt;
    return 0; &lt;br /&gt;
  } &lt;br /&gt;
 &lt;br /&gt;
  public bool isBetween(int i) { &lt;br /&gt;
    Console.WriteLine(&amp;quot;isBetween&amp;quot;);&lt;br /&gt;
    return false; &lt;br /&gt;
  } &lt;br /&gt;
 &lt;br /&gt;
  public void set(int a, int b) { &lt;br /&gt;
    Console.Write(&amp;quot;Inside set(int, int). &amp;quot;); &lt;br /&gt;
  } &lt;br /&gt;
 &lt;br /&gt;
  public void set(double a, double b) { &lt;br /&gt;
    Console.Write(&amp;quot;Inside set(double, double). &amp;quot;); &lt;br /&gt;
  } &lt;br /&gt;
 &lt;br /&gt;
  public void show() { &lt;br /&gt;
    Console.WriteLine(&amp;quot;show&amp;quot;); &lt;br /&gt;
  } &lt;br /&gt;
} &lt;br /&gt;
 &lt;br /&gt;
class MainClass { &lt;br /&gt;
  public static void Main() { &lt;br /&gt;
    Type t = typeof(MyClass);   &lt;br /&gt;
    MyClass reflectOb = new MyClass(10, 20); &lt;br /&gt;
    int val; &lt;br /&gt;
 &lt;br /&gt;
    Console.WriteLine(&amp;quot;Invoking methods in &amp;quot; + t.Name);     &lt;br /&gt;
    Console.WriteLine(); &lt;br /&gt;
    MethodInfo[] mi = t.GetMethods(); &lt;br /&gt;
 &lt;br /&gt;
    // Invoke each method. &lt;br /&gt;
    foreach(MethodInfo m in mi) { &lt;br /&gt;
      // Get the parameters. &lt;br /&gt;
      ParameterInfo[] pi = m.GetParameters(); &lt;br /&gt;
 &lt;br /&gt;
      if(m.Name.rupareTo(&amp;quot;set&amp;quot;)==0 &amp;amp;&amp;amp; &lt;br /&gt;
         pi[0].ParameterType == typeof(int)) { &lt;br /&gt;
        object[] args = new object[2]; &lt;br /&gt;
        args[0] = 9; &lt;br /&gt;
        args[1] = 18; &lt;br /&gt;
        m.Invoke(reflectOb, args); &lt;br /&gt;
      } &lt;br /&gt;
      else if(m.Name.rupareTo(&amp;quot;set&amp;quot;)==0 &amp;amp;&amp;amp; &lt;br /&gt;
         pi[0].ParameterType == typeof(double)) { &lt;br /&gt;
        object[] args = new object[2]; &lt;br /&gt;
        args[0] = 1.12; &lt;br /&gt;
        args[1] = 23.4; &lt;br /&gt;
        m.Invoke(reflectOb, args); &lt;br /&gt;
      } &lt;br /&gt;
      else if(m.Name.rupareTo(&amp;quot;sum&amp;quot;)==0) { &lt;br /&gt;
        val = (int) m.Invoke(reflectOb, null); &lt;br /&gt;
        Console.WriteLine(&amp;quot;sum is &amp;quot; + val); &lt;br /&gt;
      } &lt;br /&gt;
      else if(m.Name.rupareTo(&amp;quot;isBetween&amp;quot;)==0) { &lt;br /&gt;
        object[] args = new object[1]; &lt;br /&gt;
        args[0] = 14; &lt;br /&gt;
        if((bool) m.Invoke(reflectOb, args)) &lt;br /&gt;
          Console.WriteLine(&amp;quot;14 is between x and y&amp;quot;); &lt;br /&gt;
      } &lt;br /&gt;
      else if(m.Name.rupareTo(&amp;quot;show&amp;quot;)==0) { &lt;br /&gt;
        m.Invoke(reflectOb, null); &lt;br /&gt;
      } &lt;br /&gt;
    } &lt;br /&gt;
  } &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;MyClass(int i, int j)&lt;br /&gt;
10&lt;br /&gt;
20&lt;br /&gt;
Invoking methods in MyClass&lt;br /&gt;
sum&lt;br /&gt;
sum is 0&lt;br /&gt;
isBetween&lt;br /&gt;
Inside set(int, int). Inside set(double, double). show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==List Methods==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Reflection;&lt;br /&gt;
public interface IFaceOne&lt;br /&gt;
{&lt;br /&gt;
  void MethodA();&lt;br /&gt;
}&lt;br /&gt;
public interface IFaceTwo&lt;br /&gt;
{&lt;br /&gt;
  void MethodB();&lt;br /&gt;
}&lt;br /&gt;
public class MyClass: IFaceOne, IFaceTwo&lt;br /&gt;
{&lt;br /&gt;
  public enum MyNestedEnum{}&lt;br /&gt;
  &lt;br /&gt;
  public int myIntField;&lt;br /&gt;
  public string myStringField;&lt;br /&gt;
  public void myMethod(int p1, string p2)&lt;br /&gt;
  {&lt;br /&gt;
  }&lt;br /&gt;
  public int MyProp&lt;br /&gt;
  {&lt;br /&gt;
    get { return myIntField; }&lt;br /&gt;
    set { myIntField = value; }&lt;br /&gt;
  }&lt;br /&gt;
  void IFaceOne.MethodA(){}&lt;br /&gt;
  void IFaceTwo.MethodB(){}&lt;br /&gt;
}&lt;br /&gt;
public class MainClass&lt;br /&gt;
{&lt;br /&gt;
  public static void Main(string[] args)&lt;br /&gt;
  {&lt;br /&gt;
    MyClass f = new MyClass();&lt;br /&gt;
    Type t = f.GetType();&lt;br /&gt;
    MethodInfo[] mi = t.GetMethods();&lt;br /&gt;
    foreach(MethodInfo m in mi)&lt;br /&gt;
      Console.WriteLine(&amp;quot;Method: {0}&amp;quot;, m.Name);&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Method: myMethod&lt;br /&gt;
Method: get_MyProp&lt;br /&gt;
Method: set_MyProp&lt;br /&gt;
Method: GetType&lt;br /&gt;
Method: ToString&lt;br /&gt;
Method: Equals&lt;br /&gt;
Method: GetHashCode&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Obtain the metadata tokens==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Threading;&lt;br /&gt;
using System.Reflection;&lt;br /&gt;
using System.Reflection.Emit;&lt;br /&gt;
public class MainClass&lt;br /&gt;
{&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        Type typeInfo = typeof(object);&lt;br /&gt;
        MethodInfo methInfo = typeInfo.GetMethod(&amp;quot;ToString&amp;quot;);&lt;br /&gt;
        ModuleHandle moduleHandle = methInfo.Module.ModuleHandle;&lt;br /&gt;
        int typeToken = typeInfo.MetadataToken;&lt;br /&gt;
        int methToken = methInfo.MetadataToken;&lt;br /&gt;
        Console.WriteLine(&amp;quot;Token: {0}&amp;quot;, methToken);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Token: 100663298&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>