博客
关于我
强烈建议你试试无所不能的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
你可能感兴趣的文章
20155303 2016-2017-2 《Java程序设计》第四周学习总结
查看>>
c语言基础课第三次作业
查看>>
MogileFS系统简单配置实例
查看>>
【转】[C# 基础知识系列]专题九 :深入理解泛型可变性
查看>>
AS3.0 学习笔记002
查看>>
map, hash_map, multimap的使用及区别
查看>>
NLog配置文件根节点
查看>>
Java中的SPI Service Provider Interface 介绍及示例
查看>>
nginx 不记录指定类型日志
查看>>
为某个老狗提供表白基址
查看>>
csa Round #66 (Div. 2 only)
查看>>
虚拟机全屏问题
查看>>
笔记-人老了-github
查看>>
https域名强弱校验的区别
查看>>
MariaDB 10.3 instant ADD COLUMN亿级大表毫秒级加字段
查看>>
堆结构导致数据文件不能收缩
查看>>
linux运维常见英文报错中文翻译(菜鸟必知)
查看>>
微软私有云Azure Pack实践系列之三创建虚拟机角色
查看>>
Exchange 2010 UM角色安装后无法启动服务,错误 1000,1001
查看>>
运维的核心竞争力是什么
查看>>