Microsoft MVP성태의 닷넷 이야기
안녕하세요 생성자 호출 시 초기화 순서 질문드립니다 [링크 복사], [링크+제목 복사],
조회: 4864
글쓴 사람
김민아
홈페이지
첨부 파일
 

안녕하세요 제가 알기로는 클래스 내에 멤버들이
인스턴스 필드든 정적 필드든 생성자 스코프 진입 전에 기본값 또는 멤버 초기화 값으로 먼저 할당이 되는 것으로 알고 있었는데
선생님이 쓰신 댓글 중에 멤버 초기화 구문이 있으면 C# 컴파일러가 생성자 내에서 처리한다고 말씀하셔서요~
근데 MSDN 정적 생성자 관련 문서를 읽어보니 "정적 필드 이니셜라이저는 정적 생성자가 실행되기 직전에 실행됩니다"
라는 설명이 나와있던데 실제로는 이게 아니라

class A
{
   public static int a = 7;

   static A()
   {
      WriteLine(a);
   }
}

이 구문이 컴파일 시에

class A
{
   public static int a;

   static A()
   {
      a = 7;
      WriteLine(a);
   }
}

이렇게 변환되는게 맞는 건가요?
감사드립니다^^








[최초 등록일: ]
[최종 수정일: 9/3/2022]


비밀번호

댓글 작성자
 



2022-09-03 06시08분
네, 정적 생성자에 초기화 코드가 들어가는 것이 맞습니다. 직접 아래와 같은 decompiler 등을 이용해 확인하실 수 있습니다.

새로운 닷넷 디컴파일러 - Telerik JustDecompile
; https://www.sysnet.pe.kr/1/0/973
정성태
2022-09-03 12시33분
[김민아] 감사드립니다^^
좋은 주말 보내세요
[guest]

... 61  62  63  64  65  66  67  68  69  70  71  72  [73]  74  75  ...
NoWriterDateCnt.TitleFile(s)
698정성태9/1/200710269    답변글 [답변]: [CardSpace 관련 질문] 정리해 좋으신 글 잘 보았습니다.
704이호정9/6/200710826        답변글 답변해주신 내용 잘 봤습니다. ^_^b
705정성태9/6/20079679            답변글 [답변]: 답변해주신 내용 잘 봤습니다. ^_^b
706이호정9/7/200710196                답변글 후후... 이러다가 CardSpace 전용게시판 되는 것 아닌지 모르겠습니다. ^_^a;;
693장근배8/29/20079704매핑 구간이 열려 있습니다 [2]
710장근배9/17/20079640    답변글 [답변]: 매핑 구간이 열려 있습니다
692채영사랑8/29/20079399<질문> Ms stress tool 로 부하테스트중.
697정성태9/1/20079064    답변글 [답변]: <질문> Ms stress tool 로 부하테스트중. [1]
690한귀순8/28/200710011ClickOnce 배포 추가질문 [4]
689clev...8/27/20079593SmartClient에서도 Exe COM과 같이 여러곳에서 변수 공유가 가능한가요? [2]
688한귀순8/24/200711811ClickOnce 배포 [1]
686이상욱8/21/200710735[질문] VS.NET 2008 - WCF 를 위한 디버깅 환경 개선 테스트 중에
687정성태8/21/20079317    답변글 [답변]: [질문] VS.NET 2008 - WCF 를 위한 디버깅 환경 개선 테스트 중에
685김동진8/19/200711294Vista에서 WSDL관련 IIs7세팅 질문입니다. [4]
683조스7/31/200710261스마트 클라이언트에서 다른 어셈블리(.NET component) 사용시 에러 [1]
682정해봉7/30/200711192비스타에서 CAS설정하기... 소스 첨부 [1]파일 다운로드1
684정해봉8/14/200711205    답변글 [답변]: 비스타에서 CAS설정하기... 소스 첨부 [3]
681박희진7/27/20079680caspol로 설정된 권한집합 웹에서 읽어올 수 있나요?? [1]
680창민이7/27/200710552COM+등록시 에러 부분 때문에.. [2]
678정해봉7/24/20079481비스타에서 CAS 설정하기... [1]
677첫사랑7/24/20078994SSL에 관한 질문입니다.
679정성태7/26/20079582    답변글 [답변]: SSL에 관한 질문입니다. [1]
676kiuk7/11/20079928웹폐이지상의 이미지 상태 저장을 하고싶습니다. [1]
675안연준7/6/200710385안녕하세요 ^^ [1]
674황태욱7/5/200711497utf-8 환경에서 파라미터 값에 한글이 있을 경우 깨지는 현상이.. [1]
672땡초7/4/200711049Remoting 객체를 호출하는 순간 Timer 의 Elapsed 이벤트가 멈추는 현상 [2]
... 61  62  63  64  65  66  67  68  69  70  71  72  [73]  74  75  ...