none
¿Se puede lograr esta visibilidad de clases en la situación que describo? RRS feed

  • Pregunta

  • Suponiendo que tengo dos proyectos, Proyecto1 y Proyecto2, en la misma solución:

    Proyecto1: Clase1 y Clase2

    Clase1

    - Método1

    - Método2

    - Métedo3

    Clase2

    - Método4

    - Método5

    - Método6

    Digamos que Proyecto2 es el principal y desde allí referencio a Proyecto1 para acceder a sus clases.

    En Clase1 declaro los métodos como públicos y así los hago accesibles en Proyecto2, hasta allí ok.

    ---------------------

    Los métodos 4, 5 y 6 inicialmente los tenía en Clase1, como estos son usados por los métodos 1, 2 y 3 y no quiero que sean visibles en Proyecto2 los tenía declarados como privados. Así Clase1, de Proyecto1, "los ve", pero Proyecto2, no.

    El motivo de mi consulta viene al separarlos, como los métodos 4, 5 y 6 son complementarios y están haciendo demasiado grande el contenedor donde están los métodos 1, 2, 3, los quise poner en un contenedor aparte (Clase2), pero si en ese contenedor los conservo como privados, Clase1 ya no los "ve".

    La consulta es: Hay forma de declarar los métodos en Clase2 de manera que sean visibles sólo por las clases dentro de Proyecto1 pero no de Proyecto2?

    Gracias por la paciencia de leer y ojalá se haya entendido el trabalenguas.





    • Editado James2016-2 domingo, 19 de mayo de 2019 18:14
    domingo, 19 de mayo de 2019 18:10

Respuestas

  • Para clases internal en C# el modificador de acceso en VB es Friend.

    • Friend: acceso limitado al  proyecto actual.
    • Protected Friend: Acceso limitado a las clases derivadas y al proyecto actual.


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    • Marcado como respuesta James2016-2 domingo, 19 de mayo de 2019 21:49
    domingo, 19 de mayo de 2019 20:11

Todas las respuestas

  • Deleted
    domingo, 19 de mayo de 2019 19:21
  • Hola, gracias por responder, pero cómo las declaro, por ejemplo:

    Si Clase1 es pública, la declaro así ---> Public Class Clase1

    Si Clase2 es internal, como dices, la declaro así -----> ¿Cómo la declaro?

    ------------

    Ojo: Clase2 está dentro del mismo proyecto, pero en otro contenedor.



    • Editado James2016-2 domingo, 19 de mayo de 2019 19:38
    domingo, 19 de mayo de 2019 19:36
  • Para clases internal en C# el modificador de acceso en VB es Friend.

    • Friend: acceso limitado al  proyecto actual.
    • Protected Friend: Acceso limitado a las clases derivadas y al proyecto actual.


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    • Marcado como respuesta James2016-2 domingo, 19 de mayo de 2019 21:49
    domingo, 19 de mayo de 2019 20:11
  • Aaaah friend era, gracias.
    domingo, 19 de mayo de 2019 21:49