c#中THIS的用法浅析

来源:互联网 发布:阿里巴巴集团网络 刘洋 编辑:程序博客网 时间:2024/05/24 05:03

下文,引用自http://bbs.csdn.net/topics/190113592论坛的大牛的见解,独到又易懂。

面向对象,你就得站在事物本身的角度考虑问题
C#this在vb为Me也是和“我”是一个意思
这个类,你就是的一个实例
你的身高、性别、年龄就是属性
睡觉()、工作()、学习()就是方法
碰见高兴、悲伤、疑惑就是事件
你对你自己说“睡觉去了”,说全一点是“我睡觉去了”,对于你自己来可以省去说“我”
就像

C# code
?
1
2
Text = "测试"//省去this一样
this.Text = "测试";


当然世界上不只你一个,也不只一个类
你上班的某某某公司也可以看成一个公司的实例
某某某公司,发工资给“我”
那就好像这条语句了

C# code
?
1
otherObject.Bar(this); 


发工资()是公司的一个方法

测试代码
C# code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class MyClass
{
    internal int x = 123;
    public void Foo(UClass Bar)
    {
        Bar.Bar(this); 
    }
}
class UClass
{
    public void Bar(MyClass AMyClass)
    {
        AMyClass.x = 321;
    }
}   
 
private void button1_Click(object sender, EventArgs e)
{
    MyClass vMyClass = new MyClass();
    UClass vUClass = new UClass();
    Console.WriteLine("调用前x={0}", vMyClass.x);
    vMyClass.Foo(vUClass);
    Console.WriteLine("调用后x={0}", vMyClass.x);
}


测试结果
[code=BatchFile]
调用前x=123
调用后x=321[/code]
0 0
原创粉丝点击