리플렉션 내보내기를 사용하여 필드 정의
필드는 TypeBuilder.DefineField 메서드를 사용하여 형식 멤버로 정의됩니다. DefineField 메서드에서는 호출자가 FieldAttributes 열거형을 사용하여 필드 이름, 필드 형식 및 필드 특성을 지정해야 합니다. DefineField는 FieldBuilder를 반환합니다.
FieldBuilder.SetOffset에서는 필드 레이아웃을 정의합니다. FieldBuilder.SetMarshal에서는 필드를 마샬링하는 방법을 정의합니다. FieldBuilder.SetConstant에서는 필드의 기본값을 정의합니다.
필드는 PE 파일(이식 가능한 실행 파일)의 .sdata 섹션에 있는 데이터를 참조할 수도 있습니다. 초기화된 데이터를 나타내는 필드는 ModuleBuilder.DefineInitializedData를 사용하여 정의되며, 초기화되지 않은 데이터를 나타내는 필드는 ModuleBuilder.DefineUninitializedData를 사용하여 정의됩니다.
특성
정적 필드는 FieldAttributes.Static 특성을 사용하여 지정됩니다.
초기화될 수 있지만 이후에 작성될 수 없는 필드는 FieldAttributes.InitOnly 특성을 사용하여 지정됩니다.
컴파일 타임 상수인 필드는 FieldAttributes.Literal 특성을 사용하여 지정됩니다.
필드 표시를 결정하는 몇 가지 특성이 있습니다. FieldAttributes 열거형의 설명을 참조하십시오.