我有一个Foo
带有函数的类myName
。
类bar
继承自Foo
并具有一个属性,该属性也称为myName
我认为这应该没问题,因为:
- 该属性将编译为
get_myName()
(因此不会与 冲突Foo::myName(int,int)
) Foo::myName
有论据,而显然,该属性没有(同样,没有冲突)。
但是我仍然收到警告:
'Bar.myName' hides inherited member 'Foo.myName(int, int)'. Use the new keyword if hiding was intended.
示例代码:
public class Foo
{
public int myName(int a, int b)
{
return 0;
}
}
class Bar: Foo
{
int a;
int b;
int myName
{
get
{
return a + b;
}
}
}
另外,如果我添加到bar
函数中:
int get_myName()
{
return a+b;
}
正如预期的那样,我收到有关先前声明的函数的错误。
那么这里发生了什么?该属性是否不允许我使用myName
除 之外的所有重载get_myName()
?