Существует ли какая-либо подстановочная функция для того, чтобы сделать внутренности видимыми для сборок, имеющих общую общую сборку (мой английский-fu не дает мне имени)?
Например, The.Empire
является основным именем всех сборок. Я пробовал The.Empire.*
, но безрезультатно.
Сборка A
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("The.Empire.*")]
namespace The.Empire
{
internal static class Constants
{
internal readonly static string CommonId = "Luke";
}
}
Сборка B
namespace The.Empire.Strikes
{
public class Mate
{
public void AccessSomething()
{
Console.WriteLine("{0}", Constants.CommonId); // inaccessible
}
}
}
Сборка C
namespace The.Empire.Back
{
public class Mate
{
public void AccessSomething()
{
Console.WriteLine("{0}", Constants.CommonId); // inaccessible
}
}
}
Возможно ли это? По аналогии наследования ООП, что-то похожее на protected
, только разработчик имеет доступ к защищенным
Это не свободная связь, если я помещаю конкретное имя сборки на InternalsVisibleTo. Другие исполнители Ассамблеи А не могут быть удовлетворены, если я не перекомпилирую AssemblyA
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("The.Empire.Strikes")]
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("The.Empire.Back")]