• C#基础知识---获取调用者信息


    一、概述

    C#5.0提供了一种新功能,可以利用特性和可选参数获得调用者的信息。这些特性信息包括CallerLineNumber、CallerFilePath和CallerMemberName

    二、Demo

    using System;
    using System.Runtime.CompilerServices;
    
    namespace ExceptionDemo
    {
        class Program
        {
            public void Log(string message, [CallerLineNumber]int line = -1, [CallerFilePath] string path = null, [CallerMemberName] string name = null)
            {
    
                Console.WriteLine((line < 0) ? "No line": "Line: " + line);
                Console.WriteLine((path == null) ? "No file path" : path);
                Console.WriteLine((name == null) ? "No member name" : name);
                Console.WriteLine(message);
                Console.WriteLine();
            }
    
            private int test;
            public int Test
            {
                get { return test; }
                set
                {
                    test = value;
                    this.Log($"Test is set to {value}");
                }
            }
    
            static void Main(string[] args)
            {
                Program p = new Program();
                p.Log("A");
                p.Test = 3;
                Action<string> ac = (string msg) => { p.Log(msg); };
                ac("B");
    
            }
        }
    }

    运行结果如下:

  • 相关阅读:
    [NOI2004] 郁闷的出纳员
    对象内部套嵌多个对象
    函数
    匿名函数、对象
    函数部分
    Html部分
    搜索二叉树的应用
    二叉树的线索化
    搜索结构搜索二叉树
    堆与最优级队列
  • 原文地址:https://www.cnblogs.com/3xiaolonglong/p/9989920.html
Copyright © 2020-2023  润新知