Compartir a través de


Inicialización de objetos de ensamblado personalizados

En algunos casos, es posible que tenga que inicializar los valores de propiedad y campo en las clases de ensamblado personalizadas al crear instancias de ellos. Lo más probable es que tenga que inicializar las clases personalizadas con valores disponibles en las colecciones de objetos globales del informe. Para ello, invalide el método OnInit del objeto Code de un informe. Para acceder a OnInit, use el elemento Code de la definición de informe. Hay dos técnicas para inicializar los valores de propiedad o campo de las clases en un ensamblado personalizado que planea usar en el informe: puede declarar y crear una nueva instancia de la clase mediante OnInit, o bien puede llamar a un método disponible públicamente mediante OnInit.

Colecciones de objetos globales e inicialización

Hay varias colecciones disponibles para inicializar las variables de clase personalizadas. Puede usar las colecciones Global yUser . Las colecciones Parameters, Fields y ReportItems no están disponibles en el momento del ciclo de vida del informe cuando se invoca el método OnInit . Para usar las colecciones compartidas, globales o usuario, debe incluir la referencia del objeto Report . Por ejemplo, para inicializar la clase personalizada en función del idioma actual del usuario que accede al informe, el elemento Code podría ser similar al siguiente:

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

Una manera de inicializar los valores de propiedad y campo de una clase como se mostró anteriormente es declarar la clase y crear una nueva instancia de ella llamando a un constructor invalidado.

Otra manera de inicializar los valores de propiedad y campo de las clases de los ensamblados personalizados es llamar a un método disponible públicamente que defina desde el método OnInit . Primero debe agregar un nombre de instancia para la clase en el archivo de definición de informe. Una vez que haya agregado la referencia de ensamblado y el nombre de instancia adecuados, puede llamar al método de inicialización para inicializar los valores de propiedad y campo de la clase. El método OnInit podría ser similar al siguiente:

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

Para obtener más información sobre cómo agregar una referencia de ensamblado y un nombre de instancia para la clase personalizada, vea Agregar una referencia de ensamblado a un informe (SSRS).

Para obtener más información sobre las colecciones de objetos globales, vea Colecciones integradas en expresiones (Generador de informes y SSRS).

Véase también

Uso de ensamblados personalizados con informes