Methods invoke in .net

C#:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace BindingFlagsCS
{
    
class Program
    {
        
static void Main(string[] args)
        {
            
string path = @"C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Web.dll";
            Assembly a 
= Assembly.LoadFrom(path);
            Type hu 
= a.GetType("System.Web.HttpUtility");
            MethodInfo encode 
= hu.GetMethod("HtmlEncode"new Type[] { typeof(string) });
            MethodInfo decode 
= hu.GetMethod("HtmlDecode"new Type[] { typeof(string) });
            String original 
= "<okey-dokey>";
            Console.WriteLine(original);
            String encoded 
= encode.Invoke(nullnew object[] { original }) as string;
            Console.WriteLine(encoded);
            String decoded 
= decode.Invoke(nullnew object[] { encoded }) as string;
            Console.WriteLine(decoded);
            Console.Read();
        }
    }
}

VB.NET:

Imports System.Reflection
Module Module1

    
Sub Main()
        
Dim path As String = "C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Web.dll"
        
Dim a As Assembly = Assembly.LoadFrom(path)
        
Dim hu As Type = a.GetType("System.Web.HttpUtility")
        
Dim encode As MethodInfo = hu.GetMethod("HtmlEncode"New Type() {GetType(String)})
        
Dim decode As MethodInfo = hu.GetMethod("HtmlDecode"New Type() {GetType(String)})
        
Dim original As String = "<okey-dokey>"
        Console.WriteLine(original)
        
Dim encoded As String = CType(encode.Invoke(NothingNew Object() {original}), String)
        Console.WriteLine(encoded)
        
Dim decoded As String = CType(decode.Invoke(NothingNew Object() {encoded}), String)
        Console.WriteLine(decoded)
        Console.Read()
    
End Sub

End Module

 

posted @ 2009-05-11 05:52  N/A2011  阅读(223)  评论(0编辑  收藏  举报