C# internal

示例

internal关键字使一个类(包括嵌套类),属性,方法或字段可用于同一程序集中的每个使用者:

internal class Foo
{
    internal string SomeProperty {get; set;}
}

internal class Bar
{
    var myInstance = new Foo();
    internal string SomeField = foo.SomeProperty;

    internal class Baz
    {
        private string blah;
        public int N { get; set; }
    }
}

可以将其破坏以允许测试程序集通过向AssemblyInfo.cs文件中添加代码来访问代码:

using System.Runtime.CompilerServices;

[assembly:InternalsVisibleTo("MyTests")]