是否存在通配符类型的功能,以使内部对共享公共程序集的程序集可见 重大的(我的英语是失败的我的名字)?
例如, 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
}
}
}
这可能吗?关于OOP继承类比,类似的东西 protected
,只有派生者才能访问受保护的
如果我将特定的程序集名称放在InternalsVisibleTo上,那么它不是松耦合。除非我重新编译AssemblyA,否则无法满足程序集A的其他实现程序
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("The.Empire.Strikes")]
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("The.Empire.Back")]