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. RabbitMQ学习笔记4-使用fanout交换器

    fanout交换器会把发送给它的所有消息发送给绑定在它上面的队列,起到广播一样的效果. 本里使用实际业务中常见的例子, 订单系统:创建订单,然后发送一个事件消息 积分系统:发送订单的积分奖励 短信平台 ...

  2. LTE工作过程

    LTE工作过程 一.LTE开机及工作过程如下图所示: 二.小区搜索及同步过程 整个小区搜索及同步过程的示意图及流程图如下: 1)   UE开机,在可能存在LTE小区的几个中心频点上接收信号(PSS), ...

  3. Win7 32bit + Matlab2013b +Visual Studio 2010联合编程配置

    要建立独立运行的C应用程序,系统中需要安装Matlab.Matlab编译器.C/C++编译器以及Matlab C/C++数学库函数和图形库函数. Matlab编译器使用mbuild命令可以直接将C/C ...

  4. 使用SQL Server 2014 In-Memory 内存数据库时需要注意的地方

    转载: http://www.infoq.com/cn/articles/sql-server-2014-memory-database http://www.cnblogs.com/Amaranth ...

  5. 使用wireshark抓取wcf生成的soap消息

    在使用wcf的时候想看下生成的soap的格式是怎样的,就想到了抓包. 平时用惯的抓包工具是需要破解,另外有时会不太好用. 于是就想起来用wireshark. 首先遇到几个问题: 1.wireshart ...

  6. [转]优秀Python学习资源收集汇总

    Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl ...

  7. 在linux安装mysql,并设置远程访问

    1.查看系统有没有安装mysql. vpm -qa mysql 发现有删除:rpm -e mysql(rpm -e --nodeps mysql) 2.下载数据库 mysql-standard-5.0 ...

  8. 玩转MAC OS!实测DIY兼容机装苹果系统

    1打造iMAC:DIY常规兼容机安装MAC OS回顶部 [PConline 评测]最近消息透露苹果下个月即将发布新系统MAC OS X 10.9,这是什么东西?对于苹果,留给我们印象最为深刻的是iPh ...

  9. TL(简单)

    TL time limit per test 2 seconds memory limit per test 256 megabytes input standard input output sta ...

  10. nginx url自动加斜杠的问题

    nginx url自动加斜杠问题及301重定向 时间:2016-02-04 15:14:28来源:网络 导读:nginx url自动加斜杠问题及301重定向,URL指向一个目录并且在最后没有包含斜杠, ...