C#知识点
1.CallerMemberName、CallerFilePath、CallerLineNumber特性
在.Net 4.5中引入了三个Attribute:CallerMemberName、CallerFilePath和CallerLineNumber。在编译器的配合下,分别可以获取到调用函数名称,调用文件及调用行号。
应用场景:
使用CallerMemberName简化InotifyPropertyChanged的实现,日志类。
2.C#泛型比较数的大小
泛型后加 where T : IComparable ,比较泛型的方法 调用t1.CompareTo(t2),判断范围的数正负和零的情况
3.C#在程序中开启进程后关闭,在命令行中开启要开启的进程正常的原因
// 原始代码
processes.Add(System.Diagnostics.Process.Start(toolStripMenuItem.Tag.ToString()));
// 修正后的代码
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = toolStripMenuItem.Tag.ToString();
p.StartInfo.WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory + @"Tools"; // 设置工作路径
bool b = p.Start();
processes.Add(p);
产生原因,命令行程序中,使用了相对路径,没设置工作路径时查找对路径不正确,并且命令行程序没有抛出异常排查困难。
4.List的一种用法
List
// 示例
List<User>
// user构造函数
Users:List<user>
// using Users
using Users = System.Collections.Generic.List<User>;

浙公网安备 33010602011771号