文章类 软件类
好好999
 | 网站首页 | 网络编程语言 | 星座情感文章 | 特殊软件下载 | 站长工具天下 | 
html入门培训 网站服务器软件  化妆品经典广告词  雅芳化妆品价格  avon化妆品 net 入门培训 房地产销售广告 化妆品广告词 网络工程师
您现在的位置: 学习网 > 网络编程语言 > Asp.net > 正文
 | 网络编程语言首页 | Dreamweaver | Html | Asp | Jsp | Php | Asp.net | Css | Javascript | Access | Mysql | Mssql | Oracle | Domain | Mainframe |
最 新 热 门
普通文章通过四个方面全面剖析计算机安
普通文章ASP.NET中TreeView的运用
普通文章vb.net用来获取网页的类
普通文章给ASP.Net初学者的关于继承和多
普通文章asp.net生成静态页
普通文章ASP 3.0对ASP 2.0的改进
普通文章手工打造运算符重载过程
普通文章基于.net开发平台项目案例集锦
普通文章DataGrid中嵌套使用Repeater
普通文章ToolBar的模样自己画(三)
 
频 道 推 荐
普通文章在Win 2003中配置ASP.net环境
普通文章关于Asp.Net中的编程实现下载
普通文章ASP.NET+MySQL数据库简明图示入
普通文章体验VS.NET 2005的winform新功
普通文章Asp.net中Treeview终极解决方案
普通文章ASP.NET操作IIS中的虚拟目录
普通文章在IIS6.0下ASP .NET 的版本冲突
普通文章“智能”的让IE浏览器关闭时,
普通文章c# 正确读取存储中文,以及如何
普通文章.NET 和 Java 之碰撞火花:到底
普通文章ASP.NET DataGrid 控件深入研究
普通文章ASP.NET服务器控件编程之热身运
普通文章开心就贴(二)
普通文章开心就贴(三)
普通文章.NET之ASP Web Form快速入门(3
普通文章黑客写出了针对.Net平台的反编
普通文章检测是否还有黑客代码的asp.ne
普通文章Windows.NET Server: IIS 6.0
普通文章用Asp.net实现基于XML的留言簿
普通文章第八章 编辑留言页的制作
 
频 道 推 广
 
手工打造运算符重载过程         ★★★
手工打造运算符重载过程
作者:佚名 文章来源:本站整理 更新时间:2008-10-11 17:02:18
法必须带有specialname属性。那么我们完全可以骗过编译器,不用它提供的Operator关键字来声明运算符重载过程,而是使用自己编写特定名称的方法,并加以specialname的手法来打造运算符重载过程:

Imports System.Runtime.CompilerServices

Class Functor(Of T, U)
    <SpecialName()> _
    Public Shared Function op_BitwiseAnd(x As Functor(Of T, Boolean), y As Functor(Of T, Boolean)) _
        As Functor(Of T, Boolean)
    End Function
End Class

System.Runtime.CompilerServices.SpecialNameAttribute是一个指示编译器为声明成员添加specialname的特殊属性,C#和VB编译器都支持。op_BitwiseAnd是VB和C#等语言所识别的与操作运算符过程名称。这样写完以后编译成类库,再以引用DLL的方式引用它,你就会看到编译器将他识别成了我们要的运算符重载过程。当你在Functor<T, int>这样的类型上使用And操作时,编译器会告诉你不支持该运算符,仅在Functor<T, bool>上才能进行这一操作,编译错误信息准确无误,真是太棒了。

在我们结束前,我们还可以看看如此手工打造还能突破哪些编译器人为的限制:

可重载Protected和Private的运算符(尽管这样做几乎没有意义)
可不成对重载比较运算符(=, >, >=, <=, <, <>)
可以让移位运算符的第二个操作数不是int(>>和<<样子很好看,但是有了这个限制我们就不能拿它来干别的事情,现在好了)
可以在C#中重载仅VB支持的运算符,也可以在VB中重载仅C#支持的运算符(当然要到对方语言中才能生效)
可以让用户自定义显式转换支持泛型类型参数之间更加神奇的写法
用了这种手法,似乎还可以重载诸如operator+(int, int)之类的运算符,但它们并不能生效。

.NET语言编译器中每一项特性,都可能有隐藏在其表面之下的深层次用途。善加研究后常能发现原来所认识不到的功能。我当然不是在推荐大家乱用运算符重载,只是一种思考,一种新的灵感

上一页  [1] [2] 

 
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 相 关 文 章
    Dreamweaver MX 2004 行为之设置文本
    Dreamweaver MX 2004 加密FTP
    用Dreamweaver做在线试衣
    防止新闻系统里产生垃圾图片的方法
    sql
    用中值排序基数法实现树状结构
    数据仓库能为你当前数据库体系的不足做些什么?
    如何取得MSSQL中的存储过程的返回值
    SQL Server访问ADO
    数据库设计的一点经验
    如何构建银行数据仓库
    质量和风险管理
    项目管理
    全文本检索的应用(2)
    全文本检索的应用(1)
    Microsoft SQL Server 7.0储存过程调试指南
    数据仓库之我见 (设计篇)
    不同字符集倒库的方法
    自动生成对表进行插入和更新的存储过程的存储过程
    利用SQL Server的全局临时表防止用户重复登录
    | 设为首页 | 加入收藏 | 投搞邮箱 | 友情链接 | 网站公告 | 版权申明 | |
    破天一剑私服 - 冒险岛外挂 - 传奇外挂 - dnf外挂 - 地下城与勇士外挂 - dnf外挂 - 传奇外传外挂 - qq三国外挂 - 天龙八部外挂 - 劲舞团私服 - 劲舞团私服 - 传奇私服 - 传奇私服 - 传奇私服 - 变态传奇私服 - 及时雨外挂 - 热血传奇私服 - 传世私服 - 魔兽世界私服 - 魔兽世界私服 - 完美世界私服

    有事请点这里

    有事点这里

    copyright: 2007-2008 haohao888.com.cn 粤ICP备08105098号