编译器错误 CS0542
“用户定义类型”: 成员名称不能与它们的封闭类型相同
类或结构的成员不能与类或结构同名,除非该成员是一个构造函数。
下面的示例生成 CS0542:
C#
// CS0542.cs
class C
{
public int C;
}
如果无意中将返回类型放在构造函数中(实际上会使其成为普通方法),则可能导致此错误。 下面的示例将生成 CS0542,因为 F
是一种方法,不是构造函数,因为它具有返回类型:
C#
// CS0542.cs
class F
{
// Remove void from F() to resolve the problem.
void F() // CS0542, same name as the class
{
}
}
class MyClass
{
public static void Main()
{
}
}