AI Academy
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题
课时
评论
关于我们
开始
开始学习
立即开始学习
我的进度
课程
任务地图
课程
C#
C#
级别 63
反射:
System.Reflection
C# SELF
等级 63,
课时 0
在这节课里我们来看看如何用命名空间
System.Reflection
在运行时探索类型和成员:怎么获取
Type
、查找
GetProperties()
,
GetMethods()
, 通过
Invoke
调用方法,以及用
Activator.CreateInstance
创建对象。我们还会聊聊
BindingFlags
、动态访问值和常见错误,帮你更有意识、更高效地使用反射。
使用反射
C# SELF
等级 63,
课时 1
在这堂课你会学会通过
Type
和
MemberInfo
系列来检查类型,用
BindingFlags
获取字段/属性/方法,使用
Activator
和
ConstructorInfo
动态创建对象,用
SetValue
修改值,用
Invoke
调用方法。我们还会讨论重载、访问私有成员、性能和常见错误。
动态类型 (
dynamic
) 和 DLR
C# SELF
等级 63,
课时 2
在这节课里我们讲
dynamic
关键字和 DLR 平台:
dynamic
和
object
有什么区别,动态绑定如何在运行时执行,动态到底在哪些场景有用(COM、JSON、
ExpandoObject
、与 IronPython 的集成),又在哪些情况下会导致错误和性能损失。我们会比较静态和动态的做法,看看实战例子和常见坑。
介绍
Source Generators
C# SELF
等级 63,
课时 3
什么是
Source Generators
,它们如何和 Roslyn 配合工作,怎么帮你自动化那些模板化的代码并提升性能,怎么创建自己的生成器(从属性
[Generator]
到 调用
context.AddSource
),还有一个实际的自动生成
ToString
方法的示例,以及调试建议和常见陷阱。
Source Generators
和
System.Reflection.Emit
C# SELF
等级 63,
课时 4
在这节课里我们会讲如何用
Source Generators
在编译时生成源码,以及什么时候用
System.Reflection.Emit
来在运行时创建类型。会讨论典型场景(序列化、DI、映射、代理)、给出架构图、示例代码、方法对比和实用建议以及踩坑点。
Please enable JavaScript to continue using this application.