C#获取调用方信息-日志组件使用
来源:互联网 发布:mac 命令行复制文件夹 编辑:程序博客网 时间:2024/06/08 17:58
内容来自《ASP.NET网站开发与项目实战(第二版)》,清华大学出版社,张正礼,陈作聪,王坚宁编著
在日志组件中,需要记录方法调用信息。使用调用方信息属性,可以获取关于调用方的信息,调用信息包括:方法成员名称、源文件路径和行号这些信息可用于跟踪,调试和创建诊断工具非常有用。
注意需要引用System.Runtime.CompilerServices命名空间。
调用方信息属性:
CallerFilePath:包含调用方源文件的完整路径。
CallerLineNumber:调用方所在源文件的行号。
CallerMemberName:方法或调用方的属性名称。
在使用调用方信息的属性时,应注意:
必须为每个可选参数指定一个显示默认值;
不能将调用方信息属性应用于未指定为选项的参数;
调用方信息属性不会使用一个参数选项。相反,当参数省略时,它们影响传递的默认值。
可以使用CallerMemberName属性来避免指定成员名称作为String参数传递到调用的方法。通过使用这种方法,可以避免重命名重构而不更改String值的问题。针对以下问题是有效的:
使用跟踪和诊断实例;
在绑定数据时,实现INotifyPropertyChanged接口;
绑定控件的属性已更改,所以该控件可显示最新信息。但CallMemberName属性必须指定属性的名称为文本类型。
此外,不同类型方法返回值有所不同。
方法、属性或事件,返回调用的方法、属性或事件的名称;
构造函数,返回字符串“.ctor”;
静态构造函数,返回字符串“.cctor”;
析构函数,返回字符串“Finalize”;
用户定义的运算符或转换,返回字符串生成的成员名称,例如,“op_Addition”;
特性构造函数,特性所应用的成员,如果属性是成员中的任何元素(如参数、返回值或泛型类型参数),此结果是与组件关联的成员名称;
不包含的成员(如,程序集级别或特性应用于类型),可选参数的默认值。
例
public static void Main(string[] args) { TraceMessage("获得调用方信息。"); Console.Read(); } #region 获取调用方信息 public static void TraceMessage(string message, [CallerMemberName] string memberName = "", [CallerFilePath] string sourceFilePath = "", [CallerLineNumber] int sourceLineNumber = 0) { Trace.WriteLine("信息内容:" + message); Trace.WriteLine("调用方名称:"+memberName); Trace.WriteLine("调用方源文件路径:"+sourceFilePath); Trace.WriteLine("调用方在源文件的行号:" + sourceLineNumber); } #endregion
结果,在输出窗口。
- C#获取调用方信息-日志组件使用
- .NET 调用方信息的获取
- C#调用C++DLL 使用 德卡 读卡器 获取身份证信息
- C#编程获取系统日志信息
- C# 获取被调用函数的信息
- 使用c#调用oracle存储过程获取存储过程参数信息
- C# 调用office com组件时报“呼叫由被调用方被拒绝”错误
- 在被调用方法中如何获取调用方的相关信息
- 使用第三方组件
- C#使用反射机制获取类信息
- C#使用反射机制获取类信息
- c# 使用DirectoryEntry DirectorySearcher 获取域信息
- C#使用反射机制获取类信息
- 获取计算机日志信息
- 在C#中调用API获取网络信息和流量
- 在C#中调用API获取网络信息和流量
- C#开发之控制台程序使用log4net日志组件
- 简单使用boost property_tree组件获取配置文件信息
- 大话设计模式读书笔记之动态代理
- windows7和Ubuntu双系统中卸载Ubuntu
- 常见OJ评判结果对照表,作为ACMer你懂得!
- 21.开源项目--git分支合并
- svn--3.创建启动仓库
- C#获取调用方信息-日志组件使用
- 自定义alert
- 排序算法(三)
- 标签语义化
- 2017年全国研究生数学建模自记
- Apache Mina(二)
- android项目简单介绍
- Tensorflow实战学习(三十八)【实现估值网络】
- 不能设想没有梦的人生——致2012届大学毕业生