Obsolete 被该特性标注的方法,在使用过程中会被提示已经弃用,给调用者一个提示。在大型项目中普遍用于新方法代替旧方法 Conditional("DEBUG"),表示这个方法在debug下是执行的,在release下是不执行的 CallerFilePath,CallerLineNumber,CallerMemberName 调用者信息特性,返回调用该方法的文件、所在行数、以及方法名称,我们在vs中,直接选中方法,点击Shift + F12 vs会列出所有调用过该方法的位置 DebuggerStepThrough 在代码 打断点 调试 过程中,不进入该方法,一般加在不可能有错误的方法中,方便调试 Serializable 标记某类可序列化,序列化与反序列化一般在本地储存、网络传输的时候才会使用,当我们想把处于内存中的对象保存在本地或者网络传输的时候,需要先将其序列化,在目的地或者重新使用的时候,再将其反序列化 Nonserialized 不允许序列化,在被标注为Serializable序列化的类中,某字段前加Nonserialized,表示该字段不允许序列化 [DllImport("coredll.dll", EntryPoint = "ShowWindow")] 从非托管 DLL 导出的函数进行调用所必需的信息 要调用的dll coredll.dll EntryPoint 代表入口点 public static extern int ShowWindow(int hwnd, int nCmdShow);函数的定义信息 Required 这个特性是告诉别人这个字段是必须的 MaxLength(100) 限制字段长度的,这里是100 Description 添加一个描述信息 Flags 常用于枚举