Accesso agli assembly personalizzati tramite espressioniAccessing Custom Assemblies Through Expressions

Dopo aver creato un assembly personalizzato, averlo reso disponibile in Progettazione report o nel server di report, aver aggiunto i criteri di sicurezza appropriati e aver aggiunto un riferimento all'assembly personalizzato nella definizione del report, è possibile accedere ai membri delle classi nell'assembly utilizzando le espressioni di report.Once you have created a custom assembly, made it available to Report Designer or the report server, added the appropriate security policy, and added a reference to your custom assembly in your report definition, you can access the members of the classes in your assembly using report expressions. Per fare riferimento al codice personalizzato in un'espressione, è necessario chiamare il membro di una classe nell'assembly.To refer to custom code in an expression, you must call the member of a class within the assembly. La modalità di esecuzione di tale operazione dipende dal tipo di metodo, ovvero statico o basato su istanze.How you do this depends on whether the method is static or instance-based.

Chiamata a membri statici da un file di definizione del reportCalling Static Members from a Report Definition File

I membri statici appartengono alla classe o al tipo e non a un oggetto per il quale è stata creata un'istanza.Static members belong to the class or type itself and not to an instantiated object. È possibile accedere a questi membri chiamandoli direttamente dalla classe.These members can be accessed by directly calling them from the class. È consigliabile utilizzare i membri statici per chiamare le funzioni personalizzate in un report ogni qualvolta è possibile, perché i membri statici offrono prestazioni migliori.You should use static members to call custom functions in a report whenever possible, because static members perform best. Per chiamare un membro statico, è necessario farvi riferimento come espressione nel formato =SpazioDeiNomi.Classe.Metodo.To call a static member, you need to reference it as an expression that takes the form =Namespace.Class.Method.

Per chiamare i membri staticiTo call static members

  • Per chiamare un membro statico, impostare l'espressione in modo che corrisponda al nome completo del membro che include lo spazio dei nomi, il nome della classe e il nome del membro.To call a static member, set your expression equal to the fully qualified name of the member, which includes the namespace, class name, and member name. Nell'esempio seguente viene chiamato il metodo ToGBP, che consente di convertire il valore del campo StandardCost da dollari a sterline e di visualizzarlo in un report:The following example calls the ToGBP method, which converts the StandardCost field value from dollars to pounds sterling and displays it in a report:

    =CurrencyConversion.DollarCurrencyConversion.ToGBP(Fields!StandardCost.Value)  
    

Informazioni importanti relative alle proprietà e ai campi staticiImportant Information Regarding Static Fields and Properties

Attualmente, tutti i report vengono eseguiti nello stesso dominio dell'applicazione.Currently, all reports are executed in the same application domain. Questo significa che i report con dati statici specifici dell'utente espongono questi dati alle altre istanze dello stesso report.This means that reports with user-specific, static data expose this data to other instances of the same report. In questo modo, i dati statici di un utente possono essere resi disponibili per tutti gli utenti che attualmente eseguono un report specifico.This condition might make it possible for the static data of one user to be available to all users currently running a particular report. Per questo motivo, è consigliabile non usare proprietà o campi statici negli assembly personalizzati o nell'elemento Code, ma usare invece proprietà o campi di istanza nei report.For this reason, it is highly recommended that you not use static fields or properties in custom assemblies or in the Code element; instead, use instance fields or properties in your reports. I metodi statici possono comunque essere utilizzati, perché non comportano l'archiviazione dello stato o dei dati.Static methods can still be used, because they do not store state or data.

Chiamata a membri di istanza da un file di definizione del reportCalling Instance Members from a Report Definition File

Se l'assembly personalizzato contiene membri di istanza a cui è necessario accedere in una definizione del report, è necessario aggiungere al report un nome di istanza per la classe.If your custom assembly contains instance members that you need to access in a report definition, you must add an instance name for your class to the report. È possibile aggiungere un nome di istanza per una classe usando la scheda Codice della finestra di dialogo Proprietà report.You can add an instance name for a class using the Code tab of the Report Properties dialog. Per altre informazioni sull'aggiunta di istanze di classi a un report, vedere Riferimenti a codice personalizzato e ad assembly in espressioni in Progettazione report (SSRS).For more information about adding instances of classes to a report, see Custom Code and Assembly References in Expressions in Report Designer (SSRS).

Per chiamare un membro statico, è necessario farvi riferimento come espressione nel formato =Code.NomeIstanza.Metodo.To call a static member, you need to reference it as an expression that takes the form =Code.InstanceName.Method.

Per chiamare i membri dell'istanzaTo call instance members

  • Per chiamare un membro di istanza di un assembly personalizzato, è necessario fare riferimento alla parola chiave Code seguita dal nome dell'istanza e dal metodo.To call an instance member of a custom assembly, you must reference the Code keyword followed by the instance name and the method. Nell'esempio seguente viene chiamato il metodo di istanza ToEUR, che consente di convertire il valore del campo StandardCost da dollari a euro e di visualizzarlo in un report:The following example calls an instance method ToEUR which converts the StandardCost field value from dollars to euros and displays it in a report:

    =Code.m_myDollarCoversion.ToEUR(Fields!StandardCost.Value)  
    

Vedere ancheSee Also

Uso di assembly personalizzati con i reportUsing Custom Assemblies with Reports