关键字this的三种用法
来源:互联网 发布:网络推广的职业规划 编辑:程序博客网 时间:2024/06/06 06:33
用法一:this代表当前类的实例对象
public class Test{ private string scope = "全局变量"; public string getResult() { string scope = "局部变量"; // this代表Test的实例对象 // 所以this.scope对应的是全局变量 // scope对应的是getResult方法内的局部变量 return this.scope + "-" + scope; }}
用法二:用this串联构造函数
public class Test{ public Test() { Console.WriteLine("无参构造函数"); } // this()对应无参构造方法Test() // 先执行Test(),后执行Test(string text) public Test(string text) : this() { Console.WriteLine(text); Console.WriteLine("有参构造函数"); }}
调用:
Test test = new Test("张三");
打印结果如图1-1所示,如果还有另一个构造函数Test(int value)需要串联的话用,可以用this(2)来操作。
图1-1 测试结果
用法三:为原始类型扩展方法
特点:静态类;静态方法;第一个参数前加this。(扩展方法必须是静态类中的静态方法)
例如:public static string ToDescription(this Gender myEnum),这行代码的意思是为Gender类型添加一个扩展方法ToDescription(),调用方式为:gender.ToDescription();
public enum Gender{ [Description("男")] Man, [Description("女")] Woman}public static class Extension{ public static string ToDescription(this Gender myEnum) { Type type = typeof(Gender); FieldInfo info = type.GetField(myEnum.ToString()); DescriptionAttribute descriptionAttribute = info.GetCustomAttributes(typeof(DescriptionAttribute), true)[0] as DescriptionAttribute; if (descriptionAttribute != null) return descriptionAttribute.Description; else return type.ToString(); }}
调用:
Gender gender = Gender.Man;MessageBox.Show(gender.ToDescription());
参考文章:博客园
阅读全文
1 0
- 关键字this的三种用法
- 浅谈this关键字的三种常用用法:
- this关键字的用法
- this关键字的用法
- this关键字的用法
- this关键字的用法
- this 关键字的用法
- this 关键字的用法
- this 的三种用法
- java技术之01 关键字this的三大用法
- 关于this关键字的几种用法
- this 关键字的几种用法
- java this关键字的几种用法
- C#this关键字的四种用法
- this-super关键字的用法
- java this关键字的用法
- 关于 this 关键字的用法
- 关于this关键字的用法
- 用二叉树的遍历的组合来还原该二叉树
- 在Android Studio使用自带生成图库的资源会报错误
- Hibernate详解
- android 静态、动态注册广播浅析
- Spring Boot----Actuator
- 关键字this的三种用法
- 2017.11.14笔记
- SQL 之 case when
- 解决一个ios 短信格式问题(http:// 会导致本来一条短信被识别为两条短信)
- java安全沙箱(三)之内置于Java虚拟机(及语言)的安全特性
- 一些小东西
- android 自定义Preference(APIDemons中自定义Preference解析)
- iOS 中JavaScript交互 Document对象详解
- 用python实现一个简单的脚本——文件类型转换