Inizializzazione di oggetti assembly personalizzatiInitializing Custom Assembly Objects

In alcuni casi, potrebbe essere necessario inizializzare valori di proprietà e campi nelle classi di assembly personalizzate quando si crea un'istanza di tali classi.In some cases, you may need to initialize property and field values in your custom assembly classes when you instantiate them. In genere, è necessario inizializzare le classi personalizzate con i valori disponibili nelle raccolte di oggetti globali del report.You will most likely need to initialize your custom classes with values available to you from the report's global object collections. A tale scopo, si esegue l'override di OnInit metodo il codice oggetto di un report.You do this by overriding the OnInit method of the Code object of a report. Per accedere a OnInit, utilizzare il codice elemento della definizione del report.To access OnInit, use the Code element of the report definition. Sono disponibili due tecniche per l'inizializzazione di valori di campo o proprietà delle classi in un assembly personalizzato che si intende utilizzare nel report: È possibile dichiarare e creare una nuova istanza della classe utilizzando OnInit, oppure è possibile chiamare un metodo disponibile pubblicamente utilizzando 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.

Raccolte di oggetti globali e inizializzazioneGlobal Object Collections and Initialization

Per l'inizializzazione delle variabili delle classi personalizzate sono disponibili diverse raccolte.Several collections are available to you for initializing your custom class variables. È possibile utilizzare il Globals e utente raccolte.You can use the Globals and User collections. Il parametri, campi e ReportItems le raccolte non sono disponibili nella fase del ciclo di vita del report quando il OnInit metodo viene richiamato.The Parameters, Fields and ReportItems collections are not available to you at the point in the report lifecycle when the OnInit method is invoked. Per utilizzare le raccolte condivise, Globals o utente, è necessario includere il Report riferimento all'oggetto.To use the shared collections, Globals or User, you need to include the Report object reference. Ad esempio, per inizializzare la classe personalizzata in base alla lingua corrente dell'utente che accede al report, il codice elemento potrebbe essere simile al seguente: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>  

Per inizializzare valori di proprietà e campi di una classe come illustrato in precedenza, è possibile dichiarare la classe e creare una nuova istanza chiamando un costruttore sottoposto a override.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.

Un altro modo per inizializzare i valori di proprietà e campi delle classi negli assembly personalizzati consiste nel chiamare un metodo disponibile pubblicamente definito dal OnInit metodo.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. È innanzitutto necessario aggiungere un nome di istanza per la classe nel file di definizione del report.You first need to add an instance name for your class in the report definition file. Dopo avere aggiunto il nome di istanza e il riferimento all'assembly appropriati, è possibile chiamare il metodo di inizializzazione per inizializzare i valori di proprietà e campi per la classe.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. Il OnInit metodo potrebbe essere simile al seguente: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>  

Per ulteriori informazioni sull'aggiunta di un nome di riferimento e l'istanza di assembly per la classe personalizzata, vedere aggiungere un riferimento all'Assembly per un Report ( 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).

Per ulteriori informazioni sulle raccolte di oggetti globali, vedere raccolte predefinite nelle espressioni ( Generatore report e SSRS ) .For more information about the global object collections, see Built-in Collections in Expressions (Report Builder and SSRS).

Vedere ancheSee Also

Uso di assembly personalizzati con i reportUsing Custom Assemblies with Reports