public override object this[ string attribute ] { get { switch ( attribute.ToLower() ) { case "glcontext": return _glContext; case "window": return _window; case "nativewindow": return _window; default: return null; } } }