CLR: .Net / Mono / Boo / Otros CLR > C#
Accesar a las clases de una libreria
(1/1)
cachorro:
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....
ProfesorX:
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# --- using System;using System.Collections.Generic;using System.Text; namespace Milibreria{ // Esto tambien debe ser public public class ClaseMultip { public static long Multiplicar(long x, long y) { return (x * y); } }}
Saludos :)
cachorro:
Gracias PorfesorX, es una falla de novato....nuevamente gracias ya funciono.... :good:
Navegación
Ir a la versión completa