zoukankan
html css js c++ java
.net3.0中的扩展方法(示例)
先定义一个类Utils,在该类中定义了一个string类的扩展方法_IsNull
using
System;
namespace
LinqDemo.App_Code
{
public
static
class
Utils
{
/**/
///
<summary>
///
传统写法
///
</summary>
///
<param name="s"></param>
///
<returns></returns>
public
static
bool
IsNull(
string
s)
{
return
string
.IsNullOrEmpty(s);
}
/**/
///
<summary>
///
定义string类的一个扩展方法(注意方法签名中的this关键字,且必须定义在静态类中)
///
</summary>
///
<param name="s"></param>
///
<returns></returns>
public
static
bool
_IsNull(
this
string
s)
{
return
string
.IsNullOrEmpty(s);
}
}
}
接下来使用这个扩展方法
using
System;
using
LinqDemo.App_Code;
//
这里只要引用扩展方法所在类的命名空间即可
namespace
LinqDemo
{
class
Program
{
static
void
Main(
string
[] args)
{
string
s
=
""
;
//
这里可以看到_IsNull已经变成string类的一个扩展方法了,vs2008 IDE环境也可以自动感知此方法
Console.WriteLine(s._IsNull());
//
string类的扩展方法(这个有点类似javascript的prototype)
Console.WriteLine(
"
------------------
"
);
Console.WriteLine(Utils._IsNull(s));
//
扩展方法也可以这样当作常规方法来调用
Console.WriteLine(
"
------------------
"
);
Console.WriteLine(Utils.IsNull(s));
//
当然这样的传统写法也是可以的
Console.ReadLine();
}
}
}
小记:.net3.0中的扩展方法在使用效果上看,几乎与javascript中的prototype如出一辙,javascript中如果在String的prototype原型上定义了某个方法,会使所有String的实例都能直接使用该方法,参看以下js代码
<
script type
=
"
text/javascript
"
>
String.prototype._IsNull
=
function
()
{
return
(
this
==
""
||
this
==
null
||
this
==
"
undefined
"
);
}
var
s
=
""
;
document.write(s._IsNull())
<
/
script>
作者:
菩提树下的杨过
出处:
http://yjmyzz.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
查看全文
相关阅读:
关于slmgr命令
.msi安装包安装方法(安装错误2503和2502)
BIOS相关
C和C#的区别
关于del命令
win8快捷键
Windows 8 系统快捷键热键列表收集
Android开发环境搭建
关于Android sdkmanager目录结构的总结
关于eclipse新建项目问题
原文地址:https://www.cnblogs.com/yjmyzz/p/1063898.html
最新文章
查找问题的利器
bss 概念
WordPress二级菜单设置
怎么搭建个人博客网站——我的建站过程
WordPress怎么给分类目录排序
利用CDLinux里面的水滴破解路由器密码的教程
利用XAMPP本地搭建WordPress博客
RouterPassView——路由器密码查看工具
屏幕录像专家注册机破解方法
进入TP-Link路由器之后利用快捷键F12查看星号路由密码的方法
热门文章
使用外置无线网卡来切换mac地址
WebCracker4.0和monster字典——路由器登陆密码破解工具
永久开启完整版Google Play
Error400
grub4dos和winsetupfromusb1.4
软件打不开,或者软件打开的时候出错,很多时候可以通过以管理员的方式运行来解决
驱动,包括很多软件,并不是最新的就是最好的
键盘记录器
这个选项决定pe中能不能看见系统盘
cdlinux可以安装在c盘
Copyright © 2011-2022 走看看