本文整理汇总了VB.NET中System.Reflection.LocalVariableInfo类的典型用法代码示例。如果您正苦于以下问题:VB.NET LocalVariableInfo类的具体用法?VB.NET LocalVariableInfo怎么用?VB.NET LocalVariableInfo使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了LocalVariableInfo类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的VB.NET代码示例。
示例1: Main
' 导入命名空间
Imports System.Reflection
Public Class Example
Public Shared Sub Main()
' Demonstrate the effect of the Visual Basic When keyword, which
' generates a Filter clause in the Try block.
Dim e As New Example()
Console.WriteLine()
e.MethodBodyExample("String argument")
e.MethodBodyExample(Nothing)
' Get method body information.
Dim mi As MethodInfo = _
GetType(Example).GetMethod("MethodBodyExample")
Dim mb As MethodBody = mi.GetMethodBody()
Console.WriteLine(vbCrLf & "Method: {0}", mi)
' Display the general information included in the
' MethodBody object.
Console.WriteLine(" Local variables are initialized: {0}", _
mb.InitLocals)
Console.WriteLine(" Maximum number of items on the operand stack: {0}", _
mb.MaxStackSize)
示例2:
' Display information about the local variables in the
' method body.
Console.WriteLine()
For Each lvi As LocalVariableInfo In mb.LocalVariables
Console.WriteLine("Local variable: {0}", lvi)
Next
示例3: MethodBodyExample
End Sub
' This test method is executed at the beginning of Main, to show
' how the Filter clause works. The Filter clause is generated by
' a Visual Basic When expression. If arg is Nothing, this method
' throws ArgumentNullException, which is caught by the filter
' clause. If arg is a string, the method throws ArgumentException,
' which does not match the filter clause.
'
' Sub Main also contains code to analyze this method, using
' the properties and methods of the MethodBody class.
Public Sub MethodBodyExample(ByVal arg As Object)
' Define some local variables. In addition to these variables,
' the local variable list includes the variables scoped to
' the catch clauses.
Dim var1 As Integer = 42
Dim var2 As String = "Forty-two"
Try
' Depending on the input value, throw an ArgumentException or
' an ArgumentNullException to test the Catch clauses.
'
If arg Is Nothing Then
Throw New ArgumentNullException("The argument cannot be Nothing.")
End If
If arg.GetType() Is GetType(String) Then
Throw New ArgumentException("The argument cannot be a string.")
End If
' The When expression makes this a filter clause. The expression
' selects only exceptions that derive from the ArgumentException
' class. Other exceptions, including ArgumentException itself,
' are not handled by this filter clause.
Catch ex As ArgumentException _
When ex.GetType().IsSubclassOf(GetType(ArgumentException))
Console.WriteLine("Filter clause caught: {0}", ex.GetType())
' This catch clause handles the ArgumentException class, and
' any other class derived from Exception.
Catch ex As Exception
Console.WriteLine("Ordinary exception-handling clause caught: {0}", _
ex.GetType())
Finally
var1 = 3033
var2 = "Another string."
End Try
End Sub
End Class
输出:
Ordinary exception-handling clause caught: System.ArgumentException Filter clause caught: System.ArgumentNullException Method: Void MethodBodyExample(System.Object) Local variables are initialized: True Maximum number of items on the operand stack: 3
示例4:
'
'Local variable: System.Int32 (0)
'Local variable: System.String (1)
'Local variable: System.ArgumentException (2)
'Local variable: System.Exception (3)