2011-11-27 2 views
0

다소 제한적인 컨텍스트에서 정적 필드와 동일한 이름으로 명명 된 변수가있는 생성자에서 정적 클래스 필드를 참조해야합니다. 여기서도 비 정적 필드에 대해 하나의 "이"클래스 필드 참조하는 데 사용할 수 있다는 사실을 강조하기 위해 비 정적 필드를 포함하는 예시하는 예이다같은 이름의 로컬 변수로 정적 필드를 참조하는 C#

public class Example() { 

    private static DateTime firstInstance; 
    private static DateTime referenceInstance; 

    private String Name; 

    static Example() { 
     first=DateTime.Now; 
    } 

    public Example(String Name, DateTime referenceInstance) { 
     this.Name=Name; 
     referenceInstance=referenceInstance; 
    } 
} 

하나가 액세스 할 수있는 방법 "referenceInstance"static 필드는 "this"키워드없이 "Name"과 같은 역할을합니까? 완벽한 세계에서 나는 단지 클래스 변수 나 constrictor 변수를 다른 식별자로 리팩터링하지만 기술적 인 이유로 (문서 인쇄) 어느 부분도 변경할 수 없습니다.

감사합니다.

+2

"private static final DateTime firstInstance;"? C# 또는 Java입니까? –

+0

@Dima : 죄송합니다. 그 예가 제가 설명하기 위해 얇은 공기에서 꺼냈다는 것입니다. 자바 키워드를 추가했다는 사실조차 알지 못했습니다. 죄송합니다. 지금 삭제되었습니다. 좋은 캐치! – dotancohen

+1

예 C# 해당 기능은 'private static readonly DateTime firstInstance'입니다. –

답변

2

생성자의 정적 변수 이름을 완전히 한정합니다.

public Example(String Name, DateTime referenceInstance) { 
this.Name=Name; 
Example.referenceInstance=referenceInstance; 
} 
관련 문제