本文整理汇总了VB.NET中System.Reflection.Emit.MethodBuilder.DeclaringType属性的典型用法代码示例。如果您正苦于以下问题:VB.NET MethodBuilder.DeclaringType属性的具体用法?VB.NET MethodBuilder.DeclaringType怎么用?VB.NET MethodBuilder.DeclaringType使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类System.Reflection.Emit.MethodBuilder
的用法示例。
在下文中一共展示了MethodBuilder.DeclaringType属性的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的VB.NET代码示例。
示例1: Main
' 导入命名空间
Imports System.Reflection
Imports System.Reflection.Emit
Public Class MethodBuilderClass
Public Shared Sub Main()
Try
' Get the current AppDomain.
Dim myAppDomain As AppDomain = AppDomain.CurrentDomain
Dim myAssemblyName As New AssemblyName()
myAssemblyName.Name = "MyDynamicAssembly"
' Create the dynamic assembly and set its access mode to 'Save'.
Dim myAssemblyBuilder As AssemblyBuilder = myAppDomain.DefineDynamicAssembly _
(myAssemblyName, AssemblyBuilderAccess.Save)
' Create a dynamic module 'myModuleBuilder'.
Dim myModuleBuilder As ModuleBuilder = myAssemblyBuilder.DefineDynamicModule _
("MyDynamicModule", True)
' Define a public class 'MyDynamicClass'.
Dim myTypeBuilder As TypeBuilder = myModuleBuilder.DefineType _
("MyDynamicClass", TypeAttributes.Public)
' Define a public string field named 'myField'.
Dim myField As FieldBuilder = myTypeBuilder.DefineField("MyDynamicField", _
GetType(String), FieldAttributes.Public)
' Define the dynamic method 'MyDynamicMethod'.
Dim myMethodBuilder As MethodBuilder = myTypeBuilder.DefineMethod("MyDynamicMethod", _
MethodAttributes.Private, GetType(Integer), New Type() {})
' Generate the IL for 'myMethodBuilder'.
Dim myMethodIL As ILGenerator = myMethodBuilder.GetILGenerator()
' Emit the necessary opcodes.
myMethodIL.Emit(OpCodes.Ldarg_0)
myMethodIL.Emit(OpCodes.Ldfld, myField)
myMethodIL.Emit(OpCodes.Ret)
' Create 'myTypeBuilder' class.
Dim myType1 As Type = myTypeBuilder.CreateType()
' Get the method information of 'myTypeBuilder'.
Dim myInfo As MethodInfo() = myType1.GetMethods(BindingFlags.NonPublic Or _
BindingFlags.Instance)
' Print non-public methods present of 'myType1'.
Console.WriteLine(ControlChars.Newline + "The Non-Public methods present in 'myType1' are:" + _
ControlChars.NewLine)
Dim i As Integer
For i = 0 To myInfo.Length - 1
Console.WriteLine(myInfo(i).Name)
Next i
' Print the 'Attribute', 'Signature' of 'myMethodBuilder'.
Console.WriteLine(ControlChars.Newline + "The Attribute of 'MyDynamicMethod' is :{0}", _
myMethodBuilder.Attributes)
Console.WriteLine(ControlChars.Newline + "The Signature of 'MyDynamicMethod' is : " + _
ControlChars.Newline + myMethodBuilder.Signature)
Catch e As Exception
Console.WriteLine("Exception :{0}", e.Message)
End Try
End Sub
End Class