Você está na página 1de 2

/* Classe para acesso a bibliotecas com+ atravs do C# Utilizei para acessar bibliotecas desenvolvidas em PowerBuilder Desenvolvido por Davison

Santiago 30/07/2013 */ using using using using using System; System.Collections.Generic; System.Linq; System.Web; System.Reflection;

namespace MeuNamespace { /// <summary> /// Classe de acesso a funcionalidades do Servidor /// </summary> public class Invoke { private object target; /// <summary> /// Recupera o tipo do objeto disponibilizado no servidor. /// </summary> /// <value> /// O tipo. /// </value> private Type Tipo { get { return Type.GetTypeFromProgID("NOME_DA_BIBLIOTECA_NO_COMPLUS"); } } /// <summary> /// Retorna uma instancia do tipo disponibilizado no servidor. /// </summary> /// <value> /// The target. /// </value> private object Target { get { if (target == null) { target = Activator.CreateInstance(Tipo); } return target; } } /// <summary> /// Executa o mtodo invoke do servidor. /// </summary> public void Execute() {

object[] arrInvoke = { "CLASSE_COM_FUNCAO_INVOKE", "NOME_DO_OBJETO" }; Tipo.InvokeMember("invoke", BindingFlags.InvokeMethod, null, Target, arrInvoke); } /// /// /// /// m> public void Add(IDictionary<string, object> args) { foreach (KeyValuePair<string, object> item in args) { object[] arrParams = { item.Key, item.Value }; Tipo.InvokeMember("Add", BindingFlags.InvokeMethod, null, Target , arrParams); } } /// <summary> /// Retorna uma varivel preenchida no servidor. /// </summary> /// <param name="nomeVariavel">nome da varivel.</param> /// <returns>Valor da varivel solicitada.</returns> public string Get(string nomeVariavel) { object[] arrParams = { nomeVariavel }; return Tipo.InvokeMember("Get", BindingFlags.InvokeMethod, null, Tar get, arrParams).ToString(); } } } <summary> Adiciona os itens para processamento no servidor. </summary> <param name="args">Argumentos necessrios para execuo do processo.</para

Você também pode gostar