CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: cachorro en Sábado 15 de Mayo de 2010, 03:41
Título: Accesar a las clases de una libreria
Publicado por: cachorro en Sábado 15 de Mayo de 2010, 03:41
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....
Título: Re: Accesar a las clases de una libreria
Publicado por: ProfesorX en Sábado 15 de Mayo de 2010, 05:02
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#
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespace Milibreria
{
// Esto tambien debe ser public
publicclass ClaseMultip
{
publicstaticlong Multiplicar(long x, long y)
{
return(x * y);
}
}
}
Saludos :)
Título: Re: Accesar a las clases de una libreria
Publicado por: cachorro en Sábado 15 de Mayo de 2010, 05:35
Gracias PorfesorX, es una falla de novato....nuevamente gracias ya funciono.... :good: