博客
关于我
强烈建议你试试无所不能的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
你可能感兴趣的文章
Shadowbox
查看>>
【 程 序 员 】:伤不起的三十岁,你还有多远 ?
查看>>
openldap安装
查看>>
[leetcode]count and say
查看>>
润乾报表 - 缓存问题
查看>>
利用IFormattable接口自动参数化Sql语句
查看>>
泛型Dictionary的用法详解
查看>>
明晰三种常见存储技术:DAS、SAN和NAS
查看>>
ContentProvider简单介绍
查看>>
Visual Studio 2014 CTPs 下载 和C# 6.0 语言预览版介绍
查看>>
js混淆 反混淆 在线
查看>>
WinForm 之 程序启动不显示主窗体
查看>>
FragmentTransaction.replace() 你不知道的坑
查看>>
模拟退火算法
查看>>
StringUtils方法全集介绍
查看>>
性能调校
查看>>
VMware workstation虚拟网卡类型介绍
查看>>
C# web 更新折腾记
查看>>
IBM主机巡检操作文档
查看>>
zabbix企业应用之Mysql主从监控
查看>>