Inheritance: NSObject
        public override id InitWithCoder(NSCoder aDecoder)
        {
            id self = this;

            id menu = null;

            base.InitWithCoder(aDecoder);
            if (aDecoder.AllowsKeyedCoding)
            {
                if (aDecoder.ContainsValueForKey(@"NSInterfaceStyle"))
                {
                    _interface_style = (NSInterfaceStyle)aDecoder.DecodeIntForKey(@"NSInterfaceStyle");
                }
                if (aDecoder.ContainsValueForKey(@"NSMenu"))
                {
                    menu = (NSMenu)aDecoder.DecodeObjectForKey(@"NSMenu");
                }
                if (aDecoder.ContainsValueForKey(@"NSNextResponder"))
                {
                    NextResponder = (NSResponder)aDecoder.DecodeObjectForKey(@"NSNextResponder");
                }
            }
            else
            {

            }

            Menu = (NSMenu)menu;

            return self;
        }
 public virtual void SetNextResponder(NSResponder aResponder)
 {
     _next_responder = aResponder;
 }