当前位置: 首页>>代码示例>>VB.NET>>正文


VB.NET MethodBody.MaxStackSize属性代码示例

本文整理汇总了VB.NET中System.Reflection.MethodBody.MaxStackSize属性的典型用法代码示例。如果您正苦于以下问题:VB.NET MethodBody.MaxStackSize属性的具体用法?VB.NET MethodBody.MaxStackSize怎么用?VB.NET MethodBody.MaxStackSize使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在System.Reflection.MethodBody的用法示例。


在下文中一共展示了MethodBody.MaxStackSize属性的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的VB.NET代码示例。

示例1: Example

' 导入命名空间
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)
开发者ID:VB.NET开发者,项目名称:System.Reflection,代码行数:26,代码来源:MethodBody.MaxStackSize

示例2: 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
开发者ID:VB.NET开发者,项目名称:System.Reflection,代码行数:51,代码来源:MethodBody.MaxStackSize

输出:

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


注:本文中的System.Reflection.MethodBody.MaxStackSize属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。