public static MethodAttributes GetVisibility(this EventDef evnt) { var ret = MethodAttributes.CompilerControlled; foreach (var other in evnt.GetAccessors()) { if (other.Access > ret) { ret = other.Access; } } return(ret); }
public static void RenderEvent(EventDef ev, Graphics g, Rectangle bounds) { Image visibility; switch (ev.GetVisibility()) { case MethodAttributes.CompilerControlled: case MethodAttributes.Private: visibility = Resources.GetResource <Image>("Icons.ObjModel.private.png"); break; case MethodAttributes.FamANDAssem: case MethodAttributes.Assembly: visibility = Resources.GetResource <Image>("Icons.ObjModel.internal.png"); break; case MethodAttributes.Family: visibility = Resources.GetResource <Image>("Icons.ObjModel.protected.png"); break; case MethodAttributes.FamORAssem: visibility = Resources.GetResource <Image>("Icons.ObjModel.famasm.png"); break; case MethodAttributes.Public: default: visibility = null; break; } g.DrawImageUnscaledAndClipped(Resources.GetResource <Image>("Icons.ObjModel.event.png"), bounds); if (visibility != null) { g.DrawImageUnscaledAndClipped(visibility, bounds); } if (ev.GetAccessors().Any(m => m.IsStatic)) { g.DrawImageUnscaledAndClipped(Resources.GetResource <Image>("Icons.ObjModel.static.png"), bounds); } }