사용자 지정 어셈블리 개체 초기화Initializing Custom Assembly Objects

사용자 지정 어셈블리 클래스를 인스턴스화할 때 속성 및 필드 값을 초기화해야 하는 경우가 있습니다.In some cases, you may need to initialize property and field values in your custom assembly classes when you instantiate them. 대개 보고서의 전역 개체 컬렉션에서 제공되는 값으로 사용자 지정 클래스를 초기화해야 합니다.You will most likely need to initialize your custom classes with values available to you from the report's global object collections. 재정의 하 여이 작업을 수행는 OnInit 의 메서드는 코드 보고서의 개체입니다.You do this by overriding the OnInit method of the Code object of a report. 에 액세스 하려면 OnInit를 사용 하 여는 코드 보고서 정의의 요소입니다.To access OnInit, use the Code element of the report definition. 보고서에 사용 하려는 사용자 지정 어셈블리의 클래스의 정적 속성 또는 필드 값을 초기화 하는 두 가지 방법은: 선언 하 고 사용 하 여 클래스의 새 인스턴스를 만들거나 OnInit, 하거나 사용 하 여 공개적으로 사용할 수 있는 메서드를 호출할 수 있습니다 OnInit합니다.There are two techniques for initializing property or field values of the classes in a custom assembly that you plan to use in your report: You can either declare and create a new instance of your class using OnInit, or you can call a publicly available method using OnInit.

전역 개체 컬렉션 및 초기화Global Object Collections and Initialization

사용자 지정 클래스 변수를 초기화하는 데 사용할 수 있는 컬렉션이 다수 있으며,Several collections are available to you for initializing your custom class variables. 사용할 수는 Globals사용자 컬렉션입니다.You can use the Globals and User collections. 매개 변수, 필드ReportItems 컬렉션 지점 보고서 수명 주기에서 사용할 수 없는 경우는 OnInit 메서드가 호출 됩니다.The Parameters, Fields and ReportItems collections are not available to you at the point in the report lifecycle when the OnInit method is invoked. 공유 컬렉션 사용 기준 Globals 또는 사용자를 포함 해야는 보고서 개체 참조입니다.To use the shared collections, Globals or User, you need to include the Report object reference. 예를 들어 사용자 지정 클래스를 초기화 하는 보고서를 액세스 하는 사용자의 현재 언어에 따라 프로그램 코드 요소는 다음과 같을 수 있습니다.For example, to initialize your custom class based on the current language of the user accessing the report, your Code element might look like the following:

<Code>  
   Dim m_myClass As MyClass  

   Protected Overrides Sub OnInit()  
      m_myClass = new MyClass(Report.User!Language, _  
         Report.Globals!ExecutionTime)  
   End Sub  
</Code>  

위에 제시한 대로 클래스의 속성 및 필드 값을 초기화하는 한 가지 방법은 다시 정의된 생성자를 호출하여 클래스를 선언하고 이 클래스의 새 인스턴스를 만드는 것입니다.One way to initialize the property and field values of a class as shown previously is to declare your class and create a new instance of it by calling an overridden constructor.

사용자 지정 어셈블리의 클래스의 속성 및 필드 값을 초기화 하는 다른 방법은에서 정의 하는 공개적으로 사용할 수 있는 메서드를 호출 하는 것은 OnInit 메서드.Another way to initialize the property and field values of the classes in your custom assemblies is to call a publicly available method that you define from the OnInit method. 먼저 보고서 정의 파일에서 클래스에 대한 인스턴스 이름을 추가해야 합니다.You first need to add an instance name for your class in the report definition file. 올바른 어셈블리 참조 및 인스턴스 이름을 추가하고 나면 초기화 메서드를 호출하여 클래스에 대한 속성 및 필드 값을 초기화할 수 있습니다.Once you have added the appropriate assembly reference and instance name, you can call your initialization method to initialize property and field values for your class. 프로그램 OnInit 메서드는 다음과 같을 수 있습니다.Your OnInit method might look like the following:

<Code>  
   Protected Overrides Sub OnInit()  
      m_myClass.MyInitializationMethod(Report.User!Language, _  
         Report.Globals!ExecutionTime)  
   End Sub  
</Code>  

사용자 지정 클래스에 대 한 어셈블리 참조 및 인스턴스 이름을 추가 하는 방법에 대 한 자세한 내용은 참조 보고서 (에 대 한 어셈블리 참조를 추가 합니다. Ssrs) .For more information about adding an assembly reference and instance name for your custom class, see Add an Assembly Reference to a Report (SSRS).

전역 개체 컬렉션에 대 한 자세한 내용은 참조 하세요. 식 (의 기본 제공 컬렉션 보고서 작성기 및 SSRS ) .For more information about the global object collections, see Built-in Collections in Expressions (Report Builder and SSRS).

관련 항목:See Also

보고서에서 사용자 지정 어셈블리 사용Using Custom Assemblies with Reports