.Net和C#中的面向反射和面向方面

ngynwnxp  于 2023-05-19  发布在  .NET
关注(0)|答案(2)|浏览(142)

.Net framework和C#语言是否支持Reflect Oriented ProgrammingAspect Oriented Programming

fumotvh3

fumotvh31#

是的,.NET本身支持AOP和面向反射的编程。
使用反射和System.Reflection命名空间进行面向反射的编程。
对于AOP,有多个ways。NET Framework本身只支持远程代理和从ContextBoundObject派生,但由于其性能,不建议用于AOP。使用第三方库的所有其他可能性。

  • 使用远程处理代理的方法
  • 从ContextBoundObject派生
  • 编译时子类化(Rhino Proxy)
  • 运行时子类化(Castle动态代理)
  • 挂钩到分析器API(类型Mock)
  • 编译时IL编织(Post Sharp /塞西尔)
  • 运行时IL交织(Post Sharp /塞西尔)
ljsrvy3e

ljsrvy3e2#

反射,是:可以使用System.Reflection命名空间。
面向方面编程并不真正被.NET/C#支持,你需要一个第三方工具来实现。一些流行的例子是PostSharp和Castle DynamicProxy。

相关问题