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");

        }
    }
}

运行结果如下:

转载于:https://www.cnblogs.com/3xiaolonglong/p/9989920.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值