.Net 框架和特别是 C# 语言是否支持Reflect Oriented Programming
和Aspect Oriented Programming
?
问问题
392 次
2 回答
2
是的,.NET 本身支持 AOP 和 Reflect Oriented Programming。
使用反射和 System.Reflection 命名空间的面向反射编程。
对于 AOP,有多种方式。.NET Framework 本身仅支持远程代理和从 ContextBoundObject 派生,但由于其性能,不建议将其用于 AOP。使用 3rd 方库的所有其他可能性。
- 使用远程代理的方法
- 从 ContextBoundObject 派生
- 编译时子类化(Rhino 代理)
- 运行时子类化(城堡动态代理)
- 挂钩探查器 API(类型 Mock)
- 编译时间 IL-weaving ( Post Sharp / Cecil )
- 运行时 IL 编织(Post Sharp / Cecil)
于 2012-12-07T15:48:10.820 回答
0
反射,是的:您可以使用 System.Reflection 命名空间。
.NET/C# 并不真正支持面向方面的编程,因此您需要第三方工具。一些流行的例子是 PostSharp 和 Castle DynamicProxy。
于 2012-12-07T14:56:38.653 回答