C# c如何知道哪个方法是构造函数
我见过人们使用Pascal case来定义构造函数,他们使用与类名相同的名称。这是必须的吗?如果不是,我不明白为什么c知道方法是构造函数。构造函数的名称与类的名称相同。也没有返回类型 在C语言中,方法既有返回类型,也有标识符和括号:C# c如何知道哪个方法是构造函数,c#,C#,我见过人们使用Pascal case来定义构造函数,他们使用与类名相同的名称。这是必须的吗?如果不是,我不明白为什么c知道方法是构造函数。构造函数的名称与类的名称相同。也没有返回类型 在C语言中,方法既有返回类型,也有标识符和括号: [<modifiers>...] <return-type> <identifier>( [<parameters>...] ) { } e、 g: 属性类似于方法,但缺少括号,并且具有名为get和set的子块,或者
[<modifiers>...] <return-type> <identifier>( [<parameters>...] )
{
}
e、 g:
属性类似于方法,但缺少括号,并且具有名为get和set的子块,或者是仅getter属性的单表达式体成员
[^1]C语言规范实际上说构造函数签名的文本是它的标识符,而不是类型名,但效果是一样的。是的,这是必须的。如果您不提供构造函数,编译器将为您创建一个称为默认构造函数的构造函数,并自动设置成员的默认值。构造函数没有返回类型,并且必须具有与其类相同的名称,区分大小写 承包商 类TestClass { //这是一个没有returntype的构造函数 公共测试类{} } 方法 类TestClass2 { //这是一个我们在返回类型int中看到的方法。 public int TestClass2{return 1;}//这将无法编译:成员名称不能与其封闭类型相同 }
查看此项了解更多信息:构造函数没有返回类型+它必须与类同名您刚才回答了自己的问题吗?-构造函数是一种方法,其名称与其类型的名称相同。其方法签名仅包括方法名称及其参数列表;它不包括返回类型。构造函数具有特定的语法。在MSIL中编译后,它看起来像。构造函数具有与类相同的名称在您的答案的第二部分中,您似乎切换了返回类型和标识符?虽然我喜欢将其视为没有名称,但仅是类类型的返回类型的想法。规范说没有返回类型,但名称等于类名称。
class Baz
{
Foo Bar()
{
}
[Obsolete]
protected internal static async Task<String> GetSomethingAsync( [NotNull] Something else )
{
}
}
[<modifiers>...] <type-name>( [<parameters>...] )
{
}
class Foo
{
Foo()
{
}
}