Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c如何知道哪个方法是构造函数_C# - Fatal编程技术网

C# c如何知道哪个方法是构造函数

C# c如何知道哪个方法是构造函数,c#,C#,我见过人们使用Pascal case来定义构造函数,他们使用与类名相同的名称。这是必须的吗?如果不是,我不明白为什么c知道方法是构造函数。构造函数的名称与类的名称相同。也没有返回类型 在C语言中,方法既有返回类型,也有标识符和括号: [<modifiers>...] <return-type> <identifier>( [<parameters>...] ) { } e、 g: 属性类似于方法,但缺少括号,并且具有名为get和set的子块,或者

我见过人们使用Pascal case来定义构造函数,他们使用与类名相同的名称。这是必须的吗?如果不是,我不明白为什么c知道方法是构造函数。

构造函数的名称与类的名称相同。也没有返回类型

在C语言中,方法既有返回类型,也有标识符和括号:

[<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()
    {
    }
}