C#中的this用法,相信大家应该有用过,但你用过几种?以下是个人总结的this几种用法,欢迎大家拍砖,废话少说,直接列出用法及相关代码。

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#中this的 四种 用法的更多相关文章

  1. javascript中this的四种用法

    javascript中this的四种用法 投稿:hebedich 字体:[增加 减小] 类型:转载 时间:2015-05-11我要评论 在javascript当中每一个function都是一个对象,所 ...

  2. C#中 this关键字 四种用法

    /// <summary> /// 主程序入口 /// </summary> /// <param name="args"></param ...

  3. c++中for的四种用法

    #include <algorithm> #include <vector> #include <iostream> using namespace std; in ...

  4. 【转】javascript中this的四种用法

    在函数执行时,this 总是指向调用该函数的对象.要判断 this 的指向,其实就是判断 this 所在的函数属于谁. 在<javaScript语言精粹>这本书中,把 this 出现的场景 ...

  5. js中this 的四种用法

    this 在函数执行时,this 总是指向调用该函数的对象.要判断 this 的指向,其实就是判断 this 所在的函数属于谁. 在<javaScript语言精粹>这本书中,把 this  ...

  6. VBA中Option的四种用法

    1.Option Explicit.当使用Option Explicit时,必须在模块中的所有过程声明每一个变量,否则会出现语法错误并不能被编译.这样做的好处是,它能消除程序中因为错拼变量名而导致程序 ...

  7. JS中this的四种用法

    1.在一般函数方法中使用 this 指代全局对象 2.作为对象方法调用,this 指代上级对象 3.作为构造函数调用,this 指代new 出的对象 4.apply 调用 ,apply方法作用是改变函 ...

  8. JS中 this 的四种用法

    1.在一般函数中使用 this 指全局对象 window function fn(){ this.x = 1 } fn(); //相当于window.fn() 2.作为对象方法使用 this 指该对象 ...

  9. mysql中模糊查询的四种用法介绍

    下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user] ...

随机推荐

  1. LINUX系统下添加映射存储LUN

    LINUX系统下添加映射存储LUN(无需重启) 背景:Oracle rac环境 添加新实例,重新划分存储空间,从存储映射新的LUN. 问题:映射后,linux操作系统无法识别新的LUN,不能重启系统, ...

  2. SharedPreference注册OnSharedPreferenceChangeListener一直无法回调问题

    注册代码如下: SharedPreferences sp = getSharedPreferences("AndroidDemo", Context.MODE_PRIVATE); ...

  3. VS2013 解决方案文件结构分析

    http://www.cnblogs.com/haogj/p/4248030.html Visual Studio 的解决方案文件是一个文本文件,其中的内容不是太复杂,有些时候 Visual Stud ...

  4. Http 1.1协议

    HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间数据交换的过程. 1.Http1. ...

  5. JAVA字节码解析

    Java字节码指令 Java 字节码指令及javap 使用说明 ### java字节码指令列表 字节码 助记符 指令含义 0x00 nop 什么都不做 0x01 aconst_null 将null推送 ...

  6. MSIL 教程(二):数组、分支、循环、使用不安全代码和如何调用Win32 API(转)

    转自:http://www.cnblogs.com/Yahong111/archive/2007/08/16/857574.html 续上文[翻译]MSIL 教程(一) ,本文继续讲解数组.分支.循环 ...

  7. 分享一个Mongodb PHP封装类

    <?php /** * Mongodb 基本操作API,支持基本类似关系统型数据库的操作接口 * * @version 1.0 * [说明] * * 1:该版本API实现了 Mongodb 中最 ...

  8. java框架篇---spring AOP 实现原理

    什么是AOP AOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善.OOP引入 ...

  9. 比特(bit)与字节(byte)区别,站位比较

    “字节”(Byte) “比特”(Bit) 当你进行网络下载的时候它们会经常出现,同时你获取的速度指示也都以比特/每秒或者字节/每秒来显示. 现在就来弄清楚比特(Bit).字节(Byte)和千字节(Kb ...

  10. 关于同一台机器上安装多个sql实例的连接方法

    由于客户需要在一台服务器上安装了两个sql服务器(一个sql2000,一个是sql2005,其实例名不同),默认的端口1433被先安装的sql2000使用,后来安装的的随机启用了一个3045端口.其中 ...