zoukankan      html  css  js  c++  java
  • 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();
    
     
  • 相关阅读:
    【windows】ping对方ip端口,tcping工具
    【mysql】搜索带字符
    【layui】日期选择一闪而过问题
    【转】【linux】查看文件夹大小
    【bat】睡眠2秒
    【mysql】'XXX.XXX.XXX' isn't in GROUP BY问题解决
    【java】获取客户端访问的公网ip和归属地
    【bat】判断字符串是否包含某字符串
    【bat】【windows】win10查看所有wifi密码
    【idea】【sonarlint】指定文件夹扫描
  • 原文地址:https://www.cnblogs.com/x-poior/p/5665039.html
Copyright © 2011-2022 走看看