C#:

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

namespace BindingFlagsCS
{
    
class Program
    {
        
static void Main(string[] args)
        {
            AssemblyName an 
= new AssemblyName();
            an.Name 
= "Runtime assembly";
            an.Version 
= new Version("1.0.0.0");
            AppDomain ad 
= AppDomain.CurrentDomain;
            AssemblyBuilder ab 
= ad.DefineDynamicAssembly(an, AssemblyBuilderAccess.ReflectionOnly);
            ModuleBuilder mb 
= ab.DefineDynamicModule("Runtime""Runtime.dll");
            TypeBuilder tb 
= mb.DefineType("Joey", TypeAttributes.Public);
            Type joey 
= tb.CreateType();
            Console.WriteLine(
"Type's full name: "+joey.FullName);
            
foreach (MemberInfo mi in joey.GetMembers())
            {
                Console.WriteLine(
"Member ({0}): {1}", mi.MemberType, mi.Name);
            }
            Console.Read();
        }
    }
}

VB.NET:

 Imports System.Reflection

Imports System.Reflection.Emit
Module Module1

    
Sub Main()
        
Dim an As AssemblyName = New AssemblyName
        an.Name 
= "Runtime assembly"
        an.Version 
= New Version("1.0.0.0")
        
Dim ad As AppDomain = AppDomain.CurrentDomain
        
Dim ab As AssemblyBuilder = ad.DefineDynamicAssembly(an, AssemblyBuilderAccess.ReflectionOnly)
        
Dim mb As ModuleBuilder = ab.DefineDynamicModule("RunTime""Runtime.dll")
        
Dim tb As TypeBuilder = mb.DefineType("Joey", TypeAttributes.Public)
        
Dim joey As Type = tb.CreateType
        Console.WriteLine(
"Type's full name: " + joey.FullName)
        
For Each mi As MemberInfo In joey.GetMembers
            Console.WriteLine(
"Member ({0}): {1}", mi.MemberType, mi.Name)
        
Next
        Console.Read()
    
End Sub

End Module

posted @ 2009-05-11 06:47 N/A2011 阅读(42) 评论(0) 编辑

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 阅读(47) 评论(0) 编辑

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.ServiceProcess.dll";
            BindingFlags bf 
= BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Instance;
            Assembly a 
= Assembly.LoadFrom(path);
            Console.WriteLine(a.FullName);
            Type[] types 
= a.GetTypes();
            
foreach (Type t in types)
            {
                Console.WriteLine(
"Type: {0}", t.Name);
                MemberInfo[] mis 
= t.GetMembers(bf);
                
foreach (MemberInfo mi in mis)
                {
                    Console.WriteLine(
"{0}: {1}", mi.MemberType, mi.Name);
                }
            }
            Console.Read();
        }
    }
}

VB.Net: 

Imports System.Reflection
Module Module1

    
Sub Main()
        
Dim path As String = "C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.ServiceProcess.dll"
        
Dim bf As BindingFlags = BindingFlags.DeclaredOnly Or BindingFlags.Public Or BindingFlags.Instance
        
Dim a As Assembly = Assembly.LoadFrom(path)
        Console.WriteLine(a.FullName)
        
Dim types As Type() = a.GetTypes
        
For Each t As Type In types
            Console.WriteLine(
"Type: {0}", t.Name)
            
Dim mis As MemberInfo() = t.GetMembers(bf)
            
For Each mi As MemberInfo In mis
                Console.WriteLine(
"{0}: {1}", mi.MemberType, mi.Name)
            
Next
        
Next
        Console.Read()
    
End Sub

End Module

posted @ 2009-05-11 04:53 N/A2011 阅读(66) 评论(1) 编辑