博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SharpRush中的AOP实现
阅读量:6584 次
发布时间:2019-06-24

本文共 542 字,大约阅读时间需要 1 分钟。

 

None.gif
//
aspect code:
None.gif
    [AttributeUsage(AttributeTargets.Class)]
None.gif 
public
 
class
 SecurityAspectAttribute:
ExpandedBlockStart.gifContractedBlock.gif 
dot.gif
{
InBlock.gif  
public SecurityAspectAttribute()
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{
ExpandedSubBlockEnd.gif  }
InBlock.gif
InBlock.gif  
public override void PreProcess(System.Runtime.Remoting.Messaging.IMessage msg)
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{
InBlock.gif   System.Windows.Forms.MessageBox.Show(
"pre");
ExpandedSubBlockEnd.gif  }
InBlock.gif
InBlock.gif  
public override void PostProcess(System.Runtime.Remoting.Messaging.IMessage msg)
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{
InBlock.gif   System.Windows.Forms.MessageBox.Show(
"post");
ExpandedSubBlockEnd.gif  }
ExpandedBlockEnd.gif }
None.gif 
None.gif 
//
client code:
None.gif
 [SecurityAspect]
None.gif 
public
 
class
 Class1:
ExpandedBlockStart.gifContractedBlock.gif 
dot.gif
{
InBlock.gif  
public Class1()
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{
ExpandedSubBlockEnd.gif  }
InBlock.gif
InBlock.gif  
public void test()
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{
InBlock.gif   System.Windows.Forms.MessageBox.Show(
"test");
ExpandedSubBlockEnd.gif  }
ExpandedBlockEnd.gif }
None.gif
你可能感兴趣的文章
二叉树(binary tree)
查看>>
LINUX常用文件说明
查看>>
Navicat for MySQL 报(10038)错误
查看>>
最新game
查看>>
UNIX环境高级编程——网络编程常用函数及结构
查看>>
UIView 设置alpha后, 子view也随着变化alpha, 解决方法
查看>>
nuxt服务部署到云上全程记录
查看>>
Oracle REGEXP_SUBSTR()
查看>>
深入了解 Flexbox 伸缩盒模型
查看>>
自己封装的android客户端http网络框架
查看>>
iOS链接库的冲突
查看>>
android 热修复框架Tinker的详细简单使用
查看>>
欢迎加入.NET Core 技术QQ群一起讨论交流学习
查看>>
Windows Azure 上的 Symfony,适用于 PHP 开发者的强大组合
查看>>
基于任务的Service Bus API
查看>>
leetcode 11. Container With Most Water
查看>>
Huffman树费用
查看>>
堆和栈的区别 (转贴)
查看>>
OpenGL实现通用GPU计算概述
查看>>
C 语言free 函数的原理
查看>>