gpt4 book ai didi

c# - 'base' 和 'this' 关键字之间的区别

转载 作者:行者123 更新时间:2023-12-04 00:42:31 28 4
gpt4 key购买 nike

有人告诉我,可以在派生类中使用 basethis 关键字访问基类中的 protected 变量。我现在完全糊涂了,因为,this 关键字指的是当前类(派生类)。

public class A
{
protected int i;
}
public class B :A
{
void Display()
{
this.i=10;
// (or)
base.i=10;
}
}

有什么技术上的区别吗?首先,今天我想知道为什么我不能在 Display() 方法中创建 A 的对象并通过该对象访问变量 i 正如 protected 访问的定义所说,它可以可以在任何派生类中访问。伙计们,我看到了一些线程,但是他们说的是,我们不能创建对象和访问 protected 成员。我觉得,这很违背定义。

谁能解释一下我上面的两个问题

最佳答案

这很简单:

this 引用当前对象(EG,如果一个方法像void mymethod(int myvar),并且类有myvar在其中定义,你可以使用 myvar 来引用参数,并使用 this.myvar 来引用类中的那个。)

base 指的是基类(你的类派生自的类)。 (例如,如果您正在覆盖一个方法 Update,那么在它结束时,您可以调用 base.Update(); 来调用原始方法。)

关于c# - 'base' 和 'this' 关键字之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17377320/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com