注册 登录
编程论坛 C# 论坛

命名空间 于 类

於晓琪123 发布于 2015-01-12 17:40, 693 次点击
要使一个类能被同一命名空间中的其他类访问,但不能被这个命名空间以外的类访问,

该类可以   看到这里我就蒙了 平时只是关注 类于对象  就连近几天做的一些小小的管理系统我都没注意这样的问题   
对类的访问修饰符 我很模糊 求给一个清晰的思路   public private internal 等修饰类  命名空间之外能否访问 还有能否被内部类访问
3 回复
#2
於晓琪1232015-01-12 17:43
类被类引用 是不是继承关系 啊   还是真的有其他的引用?
#3
lxsxd2015-01-12 21:16
我的理解:写在这段代码中。
namespace Main方法
{
    public class A
    {
        public int X;
        internal int Y;
        protected int Z;
        private int H;
        public void Ahello()
        {
            A hel = new A();
            hel.X = 1;
            hel.Y = 2;
            hel.Z = 3;
            hel.H = 4;  //访问自己类内的成员,不管什么访问修饰符,均可访问;

        }
    }
    internal class B
    {
        public int X;
        internal int Y;
        protected int Z;
        private int H;
    }

    class C : A  //继承类A
    {
        public int M;
        internal int N;
        protected int L;
        public void Chello()
        {
            C hel = new C();
            hel.M = 1;
            hel.N = 2;
            hel.L = 3;  //访问自己类的任何成员;不管什么访问修饰符;
            hel.X = 4;
            hel.Y = 5;
            hel.Z = 6;  //因为继承A类,所以可以访问A类中的public\internal\protected;但不能访问A类中的private;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            A pic = new A();
            pic.X = 1;
            pic.Y = 1;  //其他类中只能访问public类中的public、internal修饰的成员;但不能访问A类中的private和protected;

            B nal = new B();
            nal.X = 1;
            nal.Y = 1; //其他类中只能访问internal类中的public、internal修饰的成员;但不能访问B类中的private和protected;

            C pro = new C();
            pro.X = 1;
            pro.Y = 2;
            pro.M = 3;
            pro.N = 4;  //其他类中只能访问internal\public类中的public、internal修饰的成员;但不能访问A、C类中的private和protected;

            Console.ReadKey ();
           
        }
    }
}
#4
於晓琪1232015-01-13 17:23
回复 3楼 lxsxd
那么就是在类的里面  internal public 差不多 了  谢了
1