当前位置: 首页>>代码示例>>C#>>正文


C# LocalVariableInfo类代码示例

本文整理汇总了C#中System.Reflection.LocalVariableInfo的典型用法代码示例。如果您正苦于以下问题:C# LocalVariableInfo类的具体用法?C# LocalVariableInfo怎么用?C# LocalVariableInfo使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


LocalVariableInfo类属于System.Reflection命名空间,在下文中一共展示了LocalVariableInfo类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Main

//引入命名空间
using System;
using System.Reflection;

public class Example
{
    public static void Main()
    {
        // Get method body information.
        MethodInfo mi = typeof(Example).GetMethod("MethodBodyExample");
        MethodBody mb = mi.GetMethodBody();
        Console.WriteLine("\r\nMethod: {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:.NET开发者,项目名称:System.Reflection,代码行数:19,代码来源:LocalVariableInfo

示例2: foreach

// Display information about the local variables in the
// method body.
Console.WriteLine();
foreach (LocalVariableInfo lvi in mb.LocalVariables)
{
    Console.WriteLine("Local variable: {0}", lvi);
}
开发者ID:.NET开发者,项目名称:System.Reflection,代码行数:7,代码来源:LocalVariableInfo

示例3: MethodBodyExample

}

    // The Main method contains code to analyze this method, using
    // the properties and methods of the MethodBody class.
    public void MethodBodyExample(object arg)
    {
        // Define some local variables. In addition to these variables,
        // the local variable list includes the variables scoped to 
        // the catch clauses.
        int var1 = 42;
        string var2 = "Forty-two";

        try
        {
            // Depending on the input value, throw an ArgumentException or 
            // an ArgumentNullException to test the Catch clauses.
            if (arg == null)
            {
                throw new ArgumentNullException("The argument cannot be null.");
            }
            if (arg.GetType() == typeof(string))
            {
                throw new ArgumentException("The argument cannot be a string.");
            }        
        }

        // This filter clause selects only exceptions that derive
        // from the ArgumentException class. 
        // Other exceptions, including ArgumentException itself, 
        // are not handled by this filter clause.
        catch (ArgumentException ex) when (ex.GetType().IsSubclassOf(typeof(ArgumentException)))
        {
            Console.WriteLine("Filter clause caught: {0}", ex.GetType());
        }

        // This catch clause handles the ArgumentException class, and
        // any other class derived from Exception.
        catch(Exception ex)
        {
            Console.WriteLine("Ordinary exception-handling clause caught: {0}", 
                ex.GetType());
        }        
        finally
        {
            var1 = 3033;
            var2 = "Another string.";
        }
    }
}
开发者ID:.NET开发者,项目名称:System.Reflection,代码行数:49,代码来源:LocalVariableInfo

输出:

Method: Void MethodBodyExample(System.Object)
Local variables are initialized: True
Maximum number of items on the operand stack: 2

示例4:

//
//Local variable: System.Int32 (0)
//Local variable: System.String (1)
//Local variable: System.Exception (2)
//Local variable: System.Boolean (3)
开发者ID:.NET开发者,项目名称:System.Reflection,代码行数:5,代码来源:LocalVariableInfo


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