• Domingo 22 de Diciembre de 2024, 09:47

Autor Tema:  Accesar a las clases de una libreria  (Leído 1856 veces)

cachorro

  • Miembro MUY activo
  • ***
  • Mensajes: 196
  • Nacionalidad: ec
    • Ver Perfil
    • http://www.pumamix.com
Accesar a las clases de una libreria
« en: Sábado 15 de Mayo de 2010, 03:41 »
0
Saludos a todos....tengo un pequeño problema espero me ayuden....le cuento...tengo creado una libreria la cual tiene dos clases la clase "ClaseAdicion" y otra "ClaseMultip", ahora desde una aplicacion de consola agrego la referencia a esta libreria que se llama "Milibreria" la cual contiene las clases mencionadas,, pero el problema es que cuando intento llamar a estas clases no me permite y de manda un mensaje que dice que la clase no es accesible por el nivel de protencion...pero ya reviso las clases y todo esta como public....adjunto el codigo de la libreria y de la aplicacion espero me puedan ayudar....

CODIGO DE LIBRERIA.

using System;
using System.Collections.Generic;
using System.Text;

namespace Milibreria
{
    class ClaseMultip
    {
        public static long Multiplicar(long x, long y)
        {
            return(x*y);
        }
    }
}
using System;
using System.Collections.Generic;
using System.Text;

namespace Milibreria
{
    class ClaseAdicion
    {
        public static long Sumar(long i, long j)
        {
            return (i + j);
        }
    }
}


Y este es el codigo de mi aplicacion donde intetno llamar a las clases de mi librerira:

using System;
using System.Collections.Generic;
using System.Text;
using Milibreria;

namespace Miaplicacion
{
    class MiAplicacion
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Llamando a métodos desde Milibreria.dll");
            if (args.Length != 2)
            {
                Console.WriteLine("Introducir : <num1> <num2>");
                return;
            }
            long num1 = long.Parse(args[0]);
            long num2 = long.Parse(args[1]);            
            long suma = ClaseAdicion.Sumar(num1,num2);
            long producto = ClaseMultip.Multiplicar(num2, num2);
            Console.WriteLine("La suma de {0} {1} es {2}",num1,num2,suma);
            Console.WriteLine("El producto de {0} {1} es {2}",num1,num2,producto);
        }
    }
}

Alguien que me ayude gracias deantemano....
La Vida es un Reto..Enfrentala....

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: Accesar a las clases de una libreria
« Respuesta #1 en: Sábado 15 de Mayo de 2010, 05:02 »
0
Un consejo, cuando publiques codigo utiliza las etiquetas de [ code][ /code] (sin espacio) para encerrar tu codigo, mejora la legibilidad.

Ahora, respecto a tu problema, estas definiendo los METODOS como public, NO la clase.

Debes agregar public antes del nombre de la clase tambien, ejemplo:

Código: C#
  1.  
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5.  
  6. namespace Milibreria
  7. {
  8.     // Esto tambien debe ser public
  9.     public class ClaseMultip
  10.     {
  11.         public static long Multiplicar(long x, long y)
  12.         {
  13.             return (x * y);
  14.         }
  15.     }
  16. }
  17.  
  18.  

Saludos :)

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

cachorro

  • Miembro MUY activo
  • ***
  • Mensajes: 196
  • Nacionalidad: ec
    • Ver Perfil
    • http://www.pumamix.com
Re: Accesar a las clases de una libreria
« Respuesta #2 en: Sábado 15 de Mayo de 2010, 05:35 »
0
Gracias PorfesorX, es una falla de novato....nuevamente gracias ya funciono.... :good:
La Vida es un Reto..Enfrentala....