zoukankan      html  css  js  c++  java
  • 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");
    
            }
        }
    }

    运行结果如下:

  • 相关阅读:
    Python 15 爬虫(一)
    Python 14 Mysql数据库(二)
    Python 13 JQuery&Bootstrp
    Python 12 CSS&JavaScript&DOOM
    Python 11 HTML
    Python 10 MySQL数据库(一)
    Python 9 Redis
    Python 8 协程
    Python 7 并发编程
    SNMP协议详解
  • 原文地址:https://www.cnblogs.com/3xiaolonglong/p/9989920.html
Copyright © 2011-2022 走看看