Access Modifier In C#


Access Modifier
·         Public - Access in assembly as well as in reference. Default public access modifier enum, Interface
·         Private - Access within the scope of curly braces
·         Protected - Access in base and derived class
·         Internal - Access within the assembly and within the program that contains its declaration.
·         Protected Internal - Can access anywhere in the same assembly  and inherited class in another assembly.

public class Class : Class1
    {
        public void Method1(int num1)
        {
            //Public Variable //Accessable in derived class
            Console.Write(pubString);
            //Internal Variable //Accessable in derived class
            Console.Write(intString);
            //Protected Internal Variable  //Accessable in derived class
            Console.Write(proIntString);
            //Protected variable  //Accessable in derived class
            Console.Write(proString);
            //private Variable  //Not Accessable in derived class
            Console.Write(pvtString);
        }
    }
    public class Class2
    {
        //Public Variable //Accessable in derived class
        //Internal Variable //Accessable in derived class
        //Protected Internal Variable  //Accessable in derived class
        Class1 cls = new Class1() { intString = "", proIntString = "", pubString = "" };
    }
    public class Class1
    {
        //Public - Accessable in this class, drived class, and refrence class
        public string pubString = "Public String";
        //Internal - Accessable within the assembly
        internal string intString = "Internal String";
        //Protected Internal - Accessable in Assembly and derived class
        protected internal string proIntString = "Internal String";
        //Protected - Accessable only in this class and derived class
        protected string proString = "Protected String";
        //Private - Accessable only on this class
        private string pvtString = "Private String";
        public string Method1()
        {
            //Private - Accessable within the Method1
            string pvtPhone = "Private String";
            return pvtPhone;
        }
    }

Comments

Popular posts from this blog

SSIS Merge Join - Both inputs of the transformation must contain at least one sorted column, and those columns must have matching metadata SSIS

jsGrid

Add Item to SharePoint List with attachment using client object model