访问修饰符的可访问范围
//一、类内部
using System; class A { //Private,Protected,Internal,Protected Internal,Public public void PublicMethod() { Console.WriteLine("this is a public method!"); } protected internal void ProtectInternalMethod() { Console.WriteLine("this is a protect_internal method!"); } internal void InternalMethod() { Console.WriteLine("this is a internal method!"); } protected void ProtectedMethod() { Console.WriteLine("this is a protected method!"); } private void PrivateMethod() { Console.WriteLine("this is a Private method!"); } static void Main() { A met = new A(); met.PublicMethod(); met.ProtectInternalMethod(); met.InternalMethod(); met.ProtectedMethod(); met.PrivateMethod(); } } //二、程序集内 using System; class A { //Private,Protected,Internal,Protected Internal,Public public void PublicMethod() { Console.WriteLine("this is a public method!"); } protected internal void ProtectInternalMethod() { Console.WriteLine("this is a protect_internal method!"); } internal void InternalMethod() { Console.WriteLine("this is a internal method!"); } protected void ProtectedMethod() { Console.WriteLine("this is a protected method!"); } private void PrivateMethod() { Console.WriteLine("this is a Private method!"); } } class B : A { public void RunMod() { PublicMethod(); ProtectInternalMethod(); InternalMethod(); ProtectedMethod(); } } class Test { static void Main() { A met1 = new A(); met1.PublicMethod(); met1.ProtectInternalMethod(); met1.InternalMethod(); Console.WriteLine(); B met2 = new B(); met2.RunMod(); } } //三、程序集外 using System; namespace Demo { public class A { public void PublicMethod() { Console.WriteLine("this is a public method!"); } protected internal void ProtectInternalMethod() { Console.WriteLine("this is a protect_internal method!"); } } } using System; namespace Demo { class B : A { public void RunMod() { ProtectInternalMethod(); } } class Test { static void Main() { A met1 = new A(); met1.PublicMethod(); B met2 = new B(); met2.RunMod(); } } } http://msdn.microsoft.com/zh-cn/library/ms173121.aspx |
Private 方法只能由一个类(Class)类型中的其他方法调用。 |