Chamando uma Assembléia C# de um relatório em serviços de relatório
-
06-07-2019 - |
Pergunta
Adicionei uma referência a uma montagem personalizada em um relatório do relatório (2008). Funciona muito bem quando eu chamo de uma caixa de texto (por exemplo, = Assembly.class.function ()), mas quando eu a enrolar em um bloco de código personalizado:
Function GetString(ByVal key as String) as String
return Willow.Reporting.Localization.Resource.Get(User!Language, "WAR", "Title", key)
end function
Recebo o erro de compilação "A referência a um membro não compartilhada requer uma referência de objeto".
A classe C# e as funções são estáticas.
Como teste, também criei uma vrsion não estática da classe, criei uma instância e acessei-a através do nome da instância no código personalizado, mas também sem sorte.
É possível chamar uma montagem personalizada do bloco de código nos serviços de relatórios?
Solução 2
O VS IDE carrega a montagem apenas uma vez, na carga - para que você precise fechar/reabrir versus cada vez que fizer uma mudança de montagem (remover a referência e a redefinição também não funcionou)
Você também pode usar chamadas estáticas e métodos de instância e funciona bem do código incorporado, por exemplo,:
Function Test() as String
return Instance.GetString()
End Function
Function Test2() as String
return WR.StaticTest.GetString()
End Function
Outras dicas
Talvez você seja um programador C#? "Compartilhado" em VB significa estático. A mensagem significa que você precisa criar uma instância da classe para chamar um método (instância) da classe.