dotnet 使用 DynamicInternal 改善对非公开类型的访问体验
💡
原文中文,约1800字,阅读约需5分钟。
📝
内容提要
介绍在 C# 中访问非公开类型的方法,包括使用反射和动态编程。使用 DynamicInternal 包装一次可以避免冗长的代码,但仍有性能问题,不支持静态成员访问。
🎯
关键要点
- C# 中默认的可见级别是 internal,限制了其他程序集的访问。
- 使用反射可以在控制台项目中创建 BaseClass 的实例并访问 Id 属性。
- 反射代码较冗长,可以使用动态编程进行优化,但会导致运行时错误。
- DynamicInternal 是一个轻量级的类型,用于包装程序集内部类的动态对象。
- 可以通过 NuGet 安装 DynamicInternal,或直接复制代码到项目中。
- 使用 DynamicInternal 可以简化代码,但仍然存在性能问题,并且不支持静态成员访问。
➡️