C#中this的 四种 用法
2016-07-12 21:52
393 查看
C#中的this用法,相信大家应该有用过,但你用过几种?以下是个人总结的this几种用法,欢迎大家拍砖,废话少说,直接列出用法及相关代码。
this用法1:限定被相似的名称隐藏的成员
this用法2:将对象作为参数传递到其他方法
this用法3:声明索引器
this用法4:扩展对象的方法
this用法1:限定被相似的名称隐藏的成员
/// <summary> /// /******************************************/ /// /* this用法1:限定被相似的名称隐藏的成员 */ /// /******************************************/ /// </summary> /// <param name="Name"></param> public Person(string Name, string Sex) { this.Name = Name; this.Sex = Sex; }
this用法2:将对象作为参数传递到其他方法
/// <summary> ///Person 的摘要说明 /// </summary> public class Person { /// <summary> /// 姓名 /// </summary> public string Name { set; get; } /// <summary> /// /*******************************************/ /// /* this用法2:将对象作为参数传递到其他方法 */ /// /*******************************************/ /// </summary> public void ShowName() { Helper.PrintName(this); } } /// <summary> /// 辅助类 /// </summary> public static class Helper { /// <summary> /// 打印人名 /// </summary> /// <param name="person"></param> public static void PrintName(Person person) { HttpContext.Current.Response.Write("姓名:" + person.Name + "<br />"); } }
this用法3:声明索引器
/// <summary> /// 其它属性 /// </summary> public NameValueCollection Attr = new NameValueCollection(); /// <summary> /// /*************************/ /// /* this用法3:声明索引器 */ /// /*************************/ /// </summary> /// <param name="key"></param> /// <returns></returns> public string this[string key] { set { Attr[key] = value; } get { return Attr[key]; } }
this用法4:扩展对象的方法
/// <summary> ///Person 的摘要说明 /// </summary> public class Person { /// <summary> /// 性别 /// </summary> public string Sex { set; get; } } /// <summary> /// 辅助类 /// </summary> public static class Helper { /// <summary> /// /*****************************/ /// /* this用法4:扩展对象的方法 */ /// /*****************************/ /// </summary> /// <param name="item"></param> /// <returns></returns> public static string GetSex(this Person item) { return item.Sex; } } 调用: Person person = new Person(); person.GetSex();
相关文章推荐
- C#属性
- C#的十大遗憾
- C# DataTable构造自定义数据的一个使用问题
- c#实现串口操作 SerialPort
- C# DataSet.Designer.cs
- 字符串处理总结之一(C#String类)
- 关于C#的dll中类的静态成员变量
- C#配置项的保存与读取
- ARCGIS ENGINE + C#画点、线、面
- C#窗口关闭之后timer仍然在运行
- C#保存图片时提示“GDI+ 中发生一般性错误”
- c# 获取和取消本地打印队列
- C# 打印时不显示正在打印的提示
- C#由汉字生成拼音码,很实用的类
- 使用MD5將字串加密 C# VS2005 Sample Code
- C#窗口中的控件都看不见了
- C#命名规范
- C#打印时,自定义纸张
- C# 互斥锁(Mutex)
- C#时间相关方法