none
Utilizar funciones de librería C# en otros lenguajes.

    Pregunta

  • Saludos estimados.

    Estoy tratando de hacer una librería en C# para utilizarla en otro lenguaje. Parte del código que estoy utilizando es el siguiente:

    using System;
    using FirmaXadesNet;
    using System.IO;
    using FirmaXadesNet.Signature.Parameters;
    using FirmaXadesNet.Crypto;
    using System.Runtime.InteropServices;
    using System.EnterpriseServices;
    using System.Security.Cryptography.X509Certificates;
    namespace FirmarDocumento
    {
        public class GetFirma
        {
           public string FirmarXAdes(string CRUTA, string XMLFILE, string CRUTASALIDA, string XMLFILESALIDA, string crutanombreCertificado, string cClavecertificado)

        ....

         }

    Necesito hacer la siguiente referencia en otro lenguaje utilizando la librería creada:

    FirmarDocumento. GetFirma. FirmarXAdes(parametros)

    Sin embargo, sólo me permite referenciar FirmarDocumento. GetFirma.

    FirmarXAdes(parametros) no me es visible.

    Podrían darme una mano por favor.

    ¿ Qué estoy haciendo mal ?

    Gracias.

    jueves, 17 de mayo de 2018 18:39

Todas las respuestas

  • Hola Cristian, el problema es que no están haciendo estático tu método FirmarXAdes.

    Debería ser así:

    using System;
    using FirmaXadesNet;
    using System.IO;
    using FirmaXadesNet.Signature.Parameters;
    using FirmaXadesNet.Crypto;
    using System.Runtime.InteropServices;
    using System.EnterpriseServices;
    using System.Security.Cryptography.X509Certificates;
    namespace FirmarDocumento
    {
        public class GetFirma
        {
           public static string FirmarXAdes(string CRUTA, string XMLFILE, string CRUTASALIDA, string XMLFILESALIDA, string crutanombreCertificado, string cClavecertificado)
           {
              ...
           }
        }
    } 

    Saludos


    Christian Amado
    Software Engineer | Microsoft MVP: Windows Development & Dynamics AX
    Don't forget to mark the right answer and vote up if helps you.
    My Blog

    jueves, 17 de mayo de 2018 19:03
  • Si GetFirma no es una clase instanciable, debería ser declarada como static también.

    Ah, y no son librerías, son bibliotecas.  DLL = Dynamic Link Library.  Library = Biblioteca, por mucho que se parezca a la palabra "librería".


    Jose R. MCP
    My GIT Repositories | Mis Repositorios GIT

    jueves, 17 de mayo de 2018 19:07
    Moderador