2012-01-21 4 views
-2

다음 코드에서 Field1과 Field2 변수의 차이점은 정적 방법으로 액세스 할 수 있습니다. C#, const with static 사용

public static class FieldName 
{ 
    public static const string Field1 = "Field1"; 
    public const string Field2 = "Field2"; 
} 

감사

,
미트

+0

이 나를 위해 컴파일되지 않습니다 정적 표시 할 수 없습니다 상수 'ConsoleApplication.Program.FieldName.Field1' – rene

답변

4

error CS0504: The constant 'FieldName.Field1' cannot be marked static.

모든 상수 선언은 암시 적으로 정적이며 C# 사양에는 정적 수정 자의 (중복) 포함이 금지되어 있다고 나와 있습니다. 이것은 독자가 두 개의 상수를 보았을 때 발생할 수있는 혼동을 피하기위한 것이라고 생각합니다. 하나는 정적이라고 선언하고 하나는 그렇지 않습니다 - 사양의 차이가 의미의 차이를 암시한다고 쉽게 추측 할 수 있습니다.

출처 : http://blogs.msdn.com/b/csharpfaq/archive/2004/03/12/why-can-t-i-use-code-static-code-and-code-const-code-together.aspx

+0

예 오류가 컴파일시에 있지만 코드를 입력하는 동안 그것을하지 않았다 혼란스러워하는 오류를 보여주십시오. –

관련 문제