コード例 #1
0
 public static void fn_PublicDerived()
 {
     PublicBase.fn_PublicBase();                 //YES, becuase this is 'public'
     //PrivateBase.fn_PrivateBase();           //No, becuase this is 'private'
     ProtectedBase.fn_ProtectedBase();           //YES, becuase this is 'protected'
     //InternalBase.fn_InternalBase();         //No, becuase this is 'internal'
     ProInternalBase.fn_ProInternalBase();       //YES, becuase this is 'protected internal'
 }
コード例 #2
0
 //TIP 2:This class is NOT in same class 'Base' but in the same assembly so  only protected is NOT accessible rest all are accessible.
 public void fn_Base_Sibling()
 {
     PublicBase.fn_PublicBase();
     //PrivateBase.fn_PrivateBase();     //ERROR:Accesibility of 'protected'
     ProtectedBase.fn_ProtectedBase();       //protected is accessible because Base_Sibling inherit class 'Base'. you can not access it via Base.ProtectedBase
     InternalBase.fn_InternalBase();
     ProInternalBase.fn_ProInternalBase();
 }
コード例 #3
0
 public static void fn_Base_Inside()
 {
     //All methods are easily accessible.Does not consider a modified indeed.
     PublicBase.fn_PublicBase();
     PrivateBase.fn_PrivateBase();
     ProtectedBase.fn_ProtectedBase();
     InternalBase.fn_InternalBase();
     ProInternalBase.fn_ProInternalBase();
 }
コード例 #4
0
    public void accessProtected()
    {
        string s = virtualMethod();

        if (s != "ProtectedBase")
        {
            throw new Exception("Failed");
        }

        Klass k = instanceMethod(new Klass("xyz"));

        if (k.getName() != "xyz")
        {
            throw new Exception("Failed");
        }

        k = instanceOverloaded(new Klass("xyz"));
        if (k.getName() != "xyz")
        {
            throw new Exception("Failed");
        }

        k = instanceOverloaded(new Klass("xyz"), "abc");
        if (k.getName() != "abc")
        {
            throw new Exception("Failed");
        }

        k = ProtectedBase.staticMethod(new Klass("abc"));
        if (k.getName() != "abc")
        {
            throw new Exception("Failed");
        }

        k = ProtectedBase.staticOverloaded(new Klass("xyz"));
        if (k.getName() != "xyz")
        {
            throw new Exception("Failed");
        }

        k = ProtectedBase.staticOverloaded(new Klass("xyz"), "abc");
        if (k.getName() != "abc")
        {
            throw new Exception("Failed");
        }

        instanceMemberVariable = 30;
        int i = instanceMemberVariable;

        if (i != 30)
        {
            throw new Exception("Failed");
        }

        staticMemberVariable = 40;
        i = staticMemberVariable;
        if (i != 40)
        {
            throw new Exception("Failed");
        }

        i = staticConstMemberVariable;
        if (i != 20)
        {
            throw new Exception("Failed");
        }

        anEnum = ProtectedBase.AnEnum.EnumVal1;
        ProtectedBase.AnEnum ae = anEnum;
        if (ae != ProtectedBase.AnEnum.EnumVal1)
        {
            throw new Exception("Failed");
        }
    }