一、C# 语言基础 #
1.1 基本功 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 1 | 值类型 vs 引用类型(struct vs class) | 内存分配差异 | |
| 2 | 装箱 / 拆箱(Boxing / Unboxing) | 性能影响 | |
| 3 | string 不可变性 & StringBuilder |
||
| 4 | ref / out / in 参数修饰符 |
||
| 5 | 可空类型 Nullable<T> / T? |
||
| 6 | 元组 Tuple / ValueTuple 解构 |
||
| 7 | readonly / const 区别 |
编译时 vs 运行时 | |
| 8 | static 类 / 静态构造函数 |
||
| 9 | 运算符重载 | ||
| 10 | 索引器 this[int index] |
1.2 面向对象 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 11 | 封装 / 继承 / 多态 | 三大特性 | |
| 12 | abstract vs virtual vs override vs new |
方法隐藏 vs 重写 | |
| 13 | interface 接口 & 默认实现(C#8+) |
||
| 14 | sealed 密封类/方法 |
||
| 15 | 访问修饰符(public/private/protected/internal/protected internal/private protected) |
6种 | |
| 16 | 属性 get/set/init |
init 为 C#9+ |
|
| 17 | record 类型(C#9+) |
值语义的引用类型 | |
| 18 | 对象初始化器 / 集合初始化器 | ||
| 19 | 构造函数链(this() / base()) |
||
| 20 | IDisposable & using 模式 |
资源释放 |
1.3 泛型 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 21 | 泛型类 / 泛型方法 / 泛型接口 | ||
| 22 | 泛型约束 where T : class/struct/new()/IXxx/T2 |
||
| 23 | 协变 out T / 逆变 in T |
IEnumerable<out T> |
|
| 24 | default(T) / default 关键字 |
1.4 委托与事件 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 25 | delegate 委托定义与使用 |
||
| 26 | Action<T> / Func<T,TResult> / Predicate<T> |
内置委托 | |
| 27 | Lambda 表达式 => |
||
| 28 | event 事件声明与订阅 |
WPF 大量使用 | |
| 29 | 多播委托 & 事件取消订阅防内存泄漏 | WPF 常见坑 | |
| 30 | EventHandler<TEventArgs> 模式 |
1.5 LINQ #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 31 | 查询语法 from...where...select |
||
| 32 | 方法语法 .Where().Select().OrderBy() |
||
| 33 | GroupBy / Join / GroupJoin |
||
| 34 | Aggregate / Zip / SelectMany |
||
| 35 | First/Single/Last 及 OrDefault 变体 |
||
| 36 | Any() / All() / Count() / Sum() |
||
| 37 | 延迟执行 vs 立即执行 | ToList() 强制求值 |
|
| 38 | IEnumerable<T> vs IQueryable<T> |
内存 vs 表达式树 | |
| 39 | 自定义 LINQ 扩展方法 |
1.6 异步编程 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 40 | async / await 基本用法 |
||
| 41 | Task / Task<T> / ValueTask<T> |
||
| 42 | Task.Run() / Task.Factory.StartNew() |
||
| 43 | Task.WhenAll() / Task.WhenAny() |
并发 | |
| 44 | ConfigureAwait(false) |
库代码中使用 | |
| 45 | CancellationToken 取消机制 |
WPF 必须掌握 | |
| 46 | SynchronizationContext |
WPF UI 线程同步 | |
| 47 | IAsyncEnumerable<T> (C#8+) |
异步流 | |
| 48 | 异步中的异常处理 / AggregateException |
||
| 49 | 死锁问题(.Result / .Wait() 在 UI 线程) |
WPF 经典坑 |
1.7 多线程与并发 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 50 | Thread / ThreadPool |
||
| 51 | lock / Monitor |
||
| 52 | Mutex / Semaphore / SemaphoreSlim |
||
| 53 | ConcurrentDictionary / ConcurrentQueue 等 |
线程安全集合 | |
| 54 | ReaderWriterLockSlim |
||
| 55 | Interlocked 原子操作 |
||
| 56 | volatile 关键字 |
||
| 57 | Channel<T>(生产者-消费者模式) |
现代推荐方案 |
1.8 反射与特性 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 58 | Type / typeof / GetType() |
||
| 59 | 反射获取/调用成员 | ||
| 60 | 自定义 Attribute 特性 |
||
| 61 | Expression Tree 表达式树 |
高级 LINQ / 动态构建 | |
| 62 | Source Generator(C#9+) | 编译时代码生成 |
1.9 C# 新特性(按需掌握) #
| # | 技术点 | 版本 | 掌握 |
|---|---|---|---|
| 63 | 模式匹配 is / switch expression |
C#7-11 | |
| 64 | record / record struct |
C#9/10 | |
| 65 | global using / 文件范围命名空间 |
C#10 | |
| 66 | required 修饰符 |
C#11 | |
| 67 | 主构造函数 class Foo(int x) |
C#12 | |
| 68 | 集合表达式 [1, 2, ..arr] |
C#12 | |
| 69 | Span<T> / Memory<T> 高性能处理 |
C#7.2+ |
二、WPF 核心知识 #
2.1 XAML 基础 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 70 | XAML 语法 & 命名空间(xmlns) |
||
| 71 | 属性语法 vs 属性元素语法 | ||
| 72 | 标记扩展 {Binding} / {StaticResource} / {x:Type} 等 |
||
| 73 | x:Name vs Name |
||
| 74 | x:Key / x:Static / x:Null |
||
| 75 | 内容属性(Content Property)& ContentPropertyAttribute |
||
| 76 | 类型转换器(TypeConverter) | ||
| 77 | XAML 中的集合语法 |
2.2 布局系统 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 78 | Grid(行列定义、* / Auto / 固定值) |
最常用 | |
| 79 | StackPanel / WrapPanel / DockPanel |
||
| 80 | Canvas(绝对定位) |
||
| 81 | UniformGrid |
||
| 82 | ScrollViewer |
||
| 83 | ViewBox(缩放) |
||
| 84 | Margin / Padding / HorizontalAlignment / VerticalAlignment |
||
| 85 | 布局过程:Measure → Arrange |
自定义Panel需要 | |
| 86 | 自定义 Panel(重写 MeasureOverride / ArrangeOverride) |
进阶 |
2.3 依赖属性系统(WPF 核心) #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 87 | DependencyProperty.Register() |
基本注册 | |
| 88 | DependencyProperty vs 普通 CLR 属性 |
||
| 89 | 属性值继承(Property Value Inheritance) | 如 FontSize |
|
| 90 | 属性优先级(11 级优先级) | 动画 > 本地值 > 样式触发器 > … | |
| 91 | CoerceValueCallback / ValidateValueCallback |
值强制/验证 | |
| 92 | PropertyChangedCallback |
变更通知 | |
| 93 | 附加属性 RegisterAttached() |
如 Grid.Row |
|
| 94 | 只读依赖属性 RegisterReadOnly() |
||
| 95 | DependencyPropertyKey |
2.4 路由事件系统 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 96 | 冒泡事件(Bubbling) | 如 MouseDown |
|
| 97 | 隧道事件(Tunneling) | 如 PreviewMouseDown |
|
| 98 | 直接事件(Direct) | ||
| 99 | RoutedEvent 注册 |
||
| 100 | e.Handled = true 停止路由 |
||
| 101 | AddHandler 附加事件处理(可接收已处理的事件) |
||
| 102 | 自定义路由事件 |
2.5 数据绑定(WPF 灵魂) #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 103 | {Binding Path=xxx} 基本语法 |
||
| 104 | DataContext 数据上下文 & 继承 |
||
| 105 | 绑定模式 OneWay/TwoWay/OneTime/OneWayToSource |
||
| 106 | UpdateSourceTrigger(PropertyChanged/LostFocus/Explicit) |
||
| 107 | INotifyPropertyChanged 实现 |
必须熟练 | |
| 108 | ObservableCollection<T> |
集合变更通知 | |
| 109 | IValueConverter / IMultiValueConverter |
值转换器 | |
| 110 | MultiBinding 多重绑定 |
||
| 111 | PriorityBinding |
||
| 112 | RelativeSource(Self/TemplatedParent/FindAncestor) |
||
| 113 | ElementName 绑定 |
||
| 114 | StringFormat / FallbackValue / TargetNullValue |
||
| 115 | 数据验证 IDataErrorInfo / INotifyDataErrorInfo |
||
| 116 | ValidationRule 自定义验证 |
||
| 117 | Validation.ErrorTemplate |
验证错误模板 | |
| 118 | BindingOperations.EnableCollectionSynchronization |
跨线程集合 | |
| 119 | 绑定调试(PresentationTraceSources.TraceLevel) |
排错利器 |
2.6 资源系统 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 120 | StaticResource vs DynamicResource |
编译时 vs 运行时 | |
| 121 | ResourceDictionary 资源字典 |
||
| 122 | MergedDictionaries 合并字典 |
||
| 123 | 主题切换(动态资源替换) | ||
| 124 | pack:// URI 方案 |
程序集资源引用 | |
| 125 | Application.Resources vs Window/控件级资源 |
作用域 |
2.7 样式与模板(WPF 精髓) #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 126 | Style(Setter / TargetType / BasedOn) |
||
| 127 | 隐式样式(不指定 x:Key) |
||
| 128 | Trigger(属性触发器) |
||
| 129 | DataTrigger / EventTrigger / MultiTrigger |
||
| 130 | ControlTemplate(控件模板) |
改变控件外观 | |
| 131 | TemplateBinding |
模板中绑定控件属性 | |
| 132 | ContentPresenter / ItemsPresenter |
模板中的内容占位 | |
| 133 | DataTemplate(数据模板) |
数据对象的可视化 | |
| 134 | DataTemplateSelector |
动态选择模板 | |
| 135 | ItemsPanelTemplate |
集合控件的面板 | |
| 136 | HierarchicalDataTemplate(TreeView 用) |
||
| 137 | 可视化树 vs 逻辑树 | ||
| 138 | VisualTreeHelper / LogicalTreeHelper |
遍历元素树 |
2.8 常用控件 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 139 | TextBox / PasswordBox / RichTextBox |
||
| 140 | Button / ToggleButton / RepeatButton |
||
| 141 | CheckBox / RadioButton |
||
| 142 | ComboBox / ListBox / ListView |
||
| 143 | DataGrid(列定义/排序/分组/编辑) |
复杂但常用 | |
| 144 | TreeView |
||
| 145 | TabControl |
||
| 146 | Menu / ContextMenu / ToolBar |
||
| 147 | Slider / ProgressBar |
||
| 148 | Expander / GroupBox |
||
| 149 | Popup / ToolTip |
||
| 150 | Image / MediaElement |
||
| 151 | Window / NavigationWindow / Frame / Page |
||
| 152 | UserControl vs CustomControl 区别与选择 |
重要 |
2.9 命令系统(Command) #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 153 | ICommand 接口 |
||
| 154 | RoutedCommand / RoutedUICommand |
内置命令 | |
| 155 | CommandBinding / InputBinding |
||
| 156 | 自定义 RelayCommand / DelegateCommand |
MVVM 核心 | |
| 157 | AsyncRelayCommand(异步命令) |
||
| 158 | CommandParameter 传参 |
||
| 159 | CanExecute & 自动刷新 |
CommandManager.RequerySuggested |
2.10 动画系统 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 160 | DoubleAnimation / ColorAnimation 等 |
||
| 161 | Storyboard |
||
| 162 | BeginStoryboard / EventTrigger |
||
| 163 | 缓动函数(EasingFunction) |
||
| 164 | 关键帧动画(KeyFrame) |
||
| 165 | ObjectAnimationUsingKeyFrames |
||
| 166 | 路径动画 | ||
| 167 | Transform(Rotate/Scale/Translate/Skew) |
||
| 168 | RenderTransform vs LayoutTransform |
2.11 图形与绘图 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 169 | Shape 系列(Rectangle/Ellipse/Path/Line/Polygon) |
||
| 170 | Path & Geometry(PathGeometry / StreamGeometry) |
||
| 171 | DrawingContext / DrawingVisual(低级绘制) |
高性能 | |
| 172 | Brush 系列(Solid/Linear/Radial/Image/Visual/Drawing) |
||
| 173 | Effect(DropShadowEffect / BlurEffect) |
||
| 174 | Clip / OpacityMask |
||
| 175 | WriteableBitmap(像素级操作) |
三、MVVM 架构模式 #
3.1 核心概念 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 176 | Model / View / ViewModel 职责划分 | ||
| 177 | INotifyPropertyChanged 规范实现 |
||
| 178 | ObservableCollection<T> |
||
| 179 | ICommand 实现(RelayCommand) |
||
| 180 | View 与 ViewModel 的关联方式 | DataContext 注入 | |
| 181 | ViewModel 之间通信(Messenger/EventAggregator) | ||
| 182 | 设计时数据(Design-Time Data) | d:DataContext |
|
| 183 | ViewModel Locator 模式 |
3.2 MVVM 框架/工具包 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 184 | CommunityToolkit.Mvvm(推荐) | 微软官方,轻量 | |
| 185 | [ObservableProperty] 源生成器 |
自动生成通知属性 | |
| 186 | [RelayCommand] 源生成器 |
自动生成命令 | |
| 187 | ObservableObject 基类 |
||
| 188 | WeakReferenceMessenger |
弱引用消息 | |
| 189 | Prism 框架(模块化/导航/对话框/Region) | 大型项目 | |
| 190 | ReactiveUI(响应式 MVVM) | Rx 风格 | |
| 191 | Caliburn.Micro | 约定优于配置 |
3.3 MVVM 实践难点 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 192 | ViewModel 中打开窗口/对话框 | 服务注入模式 | |
| 193 | ViewModel 中导航 | ||
| 194 | 密码框绑定问题 | PasswordBox 不支持绑定 |
|
| 195 | 关闭窗口/确认取消 | Behavior 或服务 |
|
| 196 | 设计模式配合(Service Locator / DI) |
四、依赖注入(DI) #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 197 | DI 概念(控制反转 IoC) | ||
| 198 | Microsoft.Extensions.DependencyInjection |
推荐 | |
| 199 | 生命周期:Transient / Scoped / Singleton |
||
| 200 | 构造函数注入 | ||
| 201 | IServiceProvider / IServiceCollection |
||
| 202 | 在 WPF 中集成 DI(App.xaml.cs 配置) |
||
| 203 | 工厂模式注入 Func<T> |
||
| 204 | 第三方容器(Autofac / DryIoc) | Prism 默认 DryIoc |
五、数据访问 #
5.1 数据库 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 205 | ADO.NET(SqlConnection/SqlCommand/DataReader) |
基础 | |
| 206 | Entity Framework Core | ORM | |
| 207 | EF Core Code First / DB First | ||
| 208 | EF Core Migration 迁移 | ||
| 209 | EF Core LINQ 查询 & 性能优化 | ||
| 210 | Dapper(轻量 ORM) | 高性能 | |
| 211 | SQLite(本地数据库,WPF 常用) | ||
| 212 | Repository 模式 / Unit of Work |
5.2 数据序列化 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 213 | System.Text.Json 序列化/反序列化 |
.NET 原生 | |
| 214 | Newtonsoft.Json(Json.NET) |
功能更全 | |
| 215 | XML 序列化 / XDocument / XmlSerializer |
配置文件 | |
| 216 | 二进制序列化 / MessagePack / Protobuf |
高性能场景 |
5.3 配置管理 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 217 | appsettings.json + IConfiguration |
现代方式 | |
| 218 | Settings.settings(传统方式) |
||
| 219 | IOptions<T> 选项模式 |
六、网络通信 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 220 | HttpClient 使用 & 最佳实践 |
IHttpClientFactory |
|
| 221 | REST API 调用(GET/POST/PUT/DELETE) | ||
| 222 | WebSocket 通信 | ||
| 223 | SignalR 客户端 | 实时通信 | |
| 224 | gRPC 客户端 | 高性能 RPC | |
| 225 | TCP/UDP Socket 编程 | ||
| 226 | 串口通信 SerialPort |
工控场景 | |
| 227 | 命名管道 / 内存映射文件(进程间通信) |
七、WPF 进阶技能 #
7.1 性能优化 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 228 | UI 虚拟化(VirtualizingStackPanel) |
大数据量列表 | |
| 229 | 数据虚拟化 | 延迟加载 | |
| 230 | Freezable.Freeze() 冻结对象 |
跨线程 + 性能 | |
| 231 | x:Shared="False" |
||
| 232 | 延迟渲染 / Dispatcher.BeginInvoke 优先级 |
||
| 233 | DispatcherTimer vs System.Timers.Timer |
||
| 234 | 减少 XAML 复杂度 / 扁平化可视化树 | ||
| 235 | 性能分析工具(VS Profiler / WPF Performance Suite) | ||
| 236 | 位图缓存 CacheMode="BitmapCache" |
7.2 自定义控件开发 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 237 | UserControl(组合现有控件) |
简单场景 | |
| 238 | CustomControl(无外观控件) |
可换皮肤 | |
| 239 | Generic.xaml & Themes 文件夹 |
默认样式 | |
| 240 | TemplatePart / TemplateVisualState |
||
| 241 | OnApplyTemplate() 重写 |
||
| 242 | 自定义依赖属性暴露 | ||
| 243 | 控件库打包为 NuGet |
7.3 行为与附加行为 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 244 | Microsoft.Xaml.Behaviors.Wpf |
||
| 245 | Behavior<T> 自定义行为 |
MVVM 辅助 | |
| 246 | EventTrigger + InvokeCommandAction |
事件转命令 | |
| 247 | 附加属性实现行为 | 轻量级方案 |
7.4 拖放 & 交互 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 248 | 拖放(Drag & Drop)实现 | DragDrop.DoDragDrop |
|
| 249 | 手势识别 / 触摸事件 | ||
| 250 | 键盘快捷键 InputBinding / KeyBinding |
7.5 多窗口 & 导航 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 251 | 多窗口管理 | Owner 关系 | |
| 252 | 模态 vs 非模态对话框 | ShowDialog vs Show |
|
| 253 | Frame + Page 导航 |
||
| 254 | 自定义导航框架(ContentControl 切换) | MVVM 推荐方式 | |
| 255 | 单实例应用(Single Instance) | Mutex 方案 |
7.6 国际化 & 本地化 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 256 | .resx 资源文件 |
||
| 257 | IMarkupExtension 多语言方案 |
||
| 258 | 动态切换语言 | DynamicResource 方案 |
八、测试 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 259 | 单元测试框架(xUnit / NUnit / MSTest) | ||
| 260 | Mock 框架(Moq / NSubstitute) | ||
| 261 | ViewModel 单元测试 | MVVM 的好处 | |
| 262 | 集成测试 | ||
| 263 | UI 自动化测试(Appium / FlaUI) | ||
| 264 | 代码覆盖率 |
九、部署与分发 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 265 | 发布模式(Framework-dependent vs Self-contained) | ||
| 266 | 单文件发布 PublishSingleFile |
||
| 267 | ReadyToRun / AOT 编译 |
启动速度 | |
| 268 | MSIX 打包 | 现代打包方式 | |
| 269 | ClickOnce 部署 | 自动更新 | |
| 270 | Inno Setup / WiX 安装包 | 传统安装 | |
| 271 | 自动更新方案(Squirrel / AutoUpdater.NET) | ||
| 272 | 代码签名(Code Signing) |
十、常用第三方库 & 生态 #
10.1 UI 组件库 #
| # | 库名 | 说明 | 掌握 |
|---|---|---|---|
| 273 | MaterialDesignInXamlToolkit | Material Design 风格 | |
| 274 | HandyControl | 国产优秀控件库 | |
| 275 | MahApps.Metro | Metro 风格 | |
| 276 | Wpf UI(Lepo) | Fluent Design | |
| 277 | LiveCharts2 / OxyPlot / ScottPlot | 图表库 | |
| 278 | AvalonEdit | 代码编辑器控件 | |
| 279 | CefSharp / WebView2 | 内嵌浏览器 | |
| 280 | Dragablz | 可拖拽 Tab |
10.2 实用工具库 #
| # | 库名 | 说明 | 掌握 |
|---|---|---|---|
| 281 | AutoMapper | 对象映射 | |
| 282 | FluentValidation | 流畅验证 | |
| 283 | Serilog / NLog | 日志库 | |
| 284 | Polly | 重试/熔断/降级 | |
| 285 | MediatR | 中介者模式(CQRS) | |
| 286 | ReactiveExtensions(Rx.NET) | 响应式编程 | |
| 287 | Quartz.NET | 任务调度 | |
| 288 | Fody / PropertyChanged.Fody | 编译时注入 INPC |
十一、开发工具与调试 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 289 | Visual Studio 调试器(断点/条件断点/数据断点) | ||
| 290 | XAML Hot Reload(热重载) | 提升效率 | |
| 291 | Live Visual Tree / Live Property Explorer | WPF 调试利器 | |
| 292 | Snoop(WPF 可视化调试) | 必装 | |
| 293 | XAML Binding Failures 窗口(VS 2022 17.8+) | 绑定错误排查 | |
| 294 | 性能探查器(CPU/内存/GPU) | ||
| 295 | dotTrace / dotMemory(JetBrains) | ||
| 296 | ILSpy / dnSpy(反编译) | ||
| 297 | Git / GitHub / Azure DevOps | ||
| 298 | NuGet 包管理 & 私有源 |
十二、架构与设计模式 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 299 | MVVM 模式 | WPF 标配 | |
| 300 | SOLID 原则 | ||
| 301 | 单例模式 | ||
| 302 | 工厂模式 / 抽象工厂 | ||
| 303 | 观察者模式(事件/Rx) | ||
| 304 | 策略模式 | ||
| 305 | 命令模式 | ICommand |
|
| 306 | 装饰器模式 | ||
| 307 | 状态模式 | ||
| 308 | 中介者模式 | Messenger | |
| 309 | 领域驱动设计 DDD(按需) | 复杂业务 | |
| 310 | Clean Architecture | 分层架构 | |
| 311 | 模块化架构(Plugin 架构) | 大型 WPF 应用 |
十三、.NET 平台知识 #
| # | 技术点 | 掌握 | 备注 |
|---|---|---|---|
| 312 | .NET Framework vs .NET Core vs .NET 5/6/7/8/9 | 版本演进 | |
| 313 | CLR / GC 垃圾回收(代/LOH/GC模式) | ||
| 314 | 程序集(Assembly) / 强名称 | ||
| 315 | .NET 互操作(P/Invoke 调用 Win32 API) | WPF 常需要 | |
| 316 | COM 互操作 | Office/硬件集成 | |
| 317 | Windows 服务 / 后台任务 | ||
| 318 | WPF 从 .NET Framework 迁移到 .NET 8+ | 趋势 |
优先级建议 #
P0 必须精通(WPF 开发者的硬指标):
→ 数据绑定 · MVVM · 依赖属性 · 模板系统 · 异步编程 · ICommand
P1 应该掌握(日常开发高频使用):
→ 样式触发器 · 布局 · 常用控件 · LINQ · DI · 调试工具
P2 建议了解(进阶提升):
→ 性能优化 · 自定义控件 · 动画 · 测试 · 设计模式
P3 按需学习(特定场景):
→ 串口通信 · COM 互操作 · 国际化 · 高级图形