이어야합니다. 요즘에는 몇 가지 문제에 대한 브레인 스토밍을하고 갑자기 한 가지 질문이 떠오릅니다. 나는 그것이 지역 사회에 물어보기로 결정했다. 질문 :정적 생성자는 반환 형식을 가질 수 없지만 정적 메서드는 반환 형식이 C#
정적 생성자는 반환 형식 (int, string 등)을 가질 수 없지만 정적 메서드는 C#에서 반환 형식을 가져야합니다.
컴파일을 통과하기 위해 두 가지 상황을 어떻게 구분합니까?
static Class staticClass
{
public static staticClass(){} //right
public static int staticClass(){} //wrong
public static int staticMethod(){} //right
}
두 번째 문장에서 요점은 명시 적으로 아무 것도없고 메소드 일 때도 코드 블록에 의해 반환되는 것에 대한 구문적인 표시가 있다는 것입니다 . 두 번째 예제는 클래스와 동일한 이름을 가진 메소드로 해석됩니다. 반환 유형이 정의되어 있기 때문입니다 ('void'인 경우 비교 가능한 오류가 발생합니다). 첫 번째 예제는 구문 분석기가 반환 유형이 없기 때문에 불필요한 액세스 가능성 수정자를 가진 정적 생성자이며 누락 된 반환 유형이있는 멤버가 아닌 것으로 간주됩니다. – Servy
예, 실수가 잘못되었습니다. public static StaticClass() {} // 잘못된 것입니다. 정적 생성자에 수정자를 사용할 수 없습니다. –