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")]