这些天我只是在OOPS上做了一些头脑风暴,突然出现了一个问题。我发现它很相关,所以我决定问社区。问题是:
静态构造函数不能有返回类型(int,string等),但静态方法必须在C#中有返回类型。
c#编译器如何区分这两种情况以使其通过编译?
static Class staticClass
{
public static staticClass(){} //right
public static int staticClass(){} //wrong
public static int staticMethod(){} //right
}
答案 0 :(得分:3)
静态构造函数不能有返回类型(int,string等)
正确。但是(静态)构造函数不需要返回任何内容。
但是静态方法必须在C#中有返回类型。
错误。静态方法很可能是一种无效方法。
c#编译器如何区分......
static class StaticClass
{
public static StaticClass(){} //right : Wrong. 'public' is not allowed.
public static int StaticClass(){} //wrong : Indeed wrong. Member cannot have same name as class
public static int StaticMethod(){} //right
}
答案 1 :(得分:0)
静态构造函数是Constructor的类型意味着在第一类对象初始化期间不会有任何返回类型的原因。但是静态方法是使用类的名称调用的方法。假设你有一个A类,你有一个方法静态字符串display()然后你可以调用A.display()。因为静态方法对于类的所有对象都是通用的。要了解有关构造函数及其类型的更多信息,请查看此URL constructors-net-using-csharp-singleton-pattern/