public UserGuiControl() { baseControl = new InternalBase(this); graphics = new GDIGraphics(null); OnSizeChanged(null); SetStyle(ControlStyles.AllPaintingInWmPaint, true); var thisThread = Thread.CurrentThread; var context = SynchronizationContext.Current; var thread = new Thread(() => { while (thisThread.IsAlive) { if (Created) { baseControl.Update(); context.Send((o) => { Invalidate(); }, null); } Thread.Sleep(16); } }); if (System.ComponentModel.LicenseManager.UsageMode == System.ComponentModel.LicenseUsageMode.Runtime) { thread.Start(); } }
//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(); }
private bool IsMatch <S>(S other, Predicate <S> match) where S : ISet <T> { InternalBase <T, E> o = other as InternalBase <T, E>; return(ReferenceEquals(_collection, other) || !ReferenceEquals(o, null) && ReferenceEquals(_collection, o._collection) || match(other)); }
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(); }