• C#中this的 四种 用法


    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();
    
     
  • 相关阅读:
    音频编辑大师 3.3 注冊名 注冊码
    Cocos2d_x的特点及环境配置
    strcpy_s与strcpy的比較
    Android Bundle类
    DB9 公头母头引脚定义及连接
    80x86汇编小站站长简单介绍
    腾讯webqq最新password加密算法,hash算法
    八大排序算法总结
    xpage 获取 附件
    转基因大豆提高大豆油脂产量80%
  • 原文地址:https://www.cnblogs.com/x-poior/p/5665039.html
Copyright © 2020-2023  润新知