Smartmobili.Cocoa.NSObjectDecoder.CreateFromClassName C# (CSharp) Method

CreateFromClassName() private method

private CreateFromClassName ( System.Xml.Linq.XElement xElement, string attrClass ) : object
xElement System.Xml.Linq.XElement
attrClass string
return object
        private object CreateFromClassName(XElement xElement, string attrClass)
        {
            NSCoding2 nsObj = null;

            NSObjectDecoder decoder = new NSObjectDecoder(Document, xElement);

            System.Diagnostics.Debug.WriteLine(attrClass);

            Type t = Type.GetType("Smartmobili.Cocoa." + attrClass);
            if (t != null)
            {
                nsObj = Activator.CreateInstance(t) as NSCoding2;
                if (nsObj != null)
                {
                    //nsObj = (NSCoding2)nsObj.InitWithCoder(decoder);
                }
                else
                {
                    System.Diagnostics.Debug.WriteLine(string.Format(
                        "CreateFromClassName : this class name {0} doesn't implement NSCoding protocol", attrClass));
                }
            }
            else
            {
                System.Diagnostics.Debug.WriteLine(
                        string.Format("CreateFromClassName : Unknown <object> class name {0}", attrClass));
            }

            //switch (attrClass)
            //{
            //    case "IBActionConnection": { nsObj = new IBActionConnection(); nsObj.InitWithCoder(decoder); break; }
            //    case "IBActionInfo": { nsObj = new IBActionInfo(); nsObj.InitWithCoder(decoder); break; }
            //    case "IBBindingConnection": { nsObj = new IBBindingConnection(); nsObj.InitWithCoder(decoder); break; }
            //    case "IBClassDescriber": { nsObj = new IBClassDescriber(); nsObj.InitWithCoder(decoder); break; }
            //    case "IBClassDescriptionSource": { nsObj = new IBClassDescriptionSource(); nsObj.InitWithCoder(decoder); break; }
            //    case "IBConnectionRecord": { nsObj = new IBConnectionRecord(); nsObj.InitWithCoder(decoder); break; }
            //    case "IBMutableOrderedSet": { nsObj = new IBMutableOrderedSet(); nsObj.InitWithCoder(decoder); break; }
            //    case "IBObjectContainer": { nsObj = new IBObjectContainer(); nsObj.InitWithCoder(decoder); break; }
            //    case "IBObjectRecord": { nsObj = new IBObjectRecord(); nsObj.InitWithCoder(decoder); break; }
            //    case "IBOutletConnection": { nsObj = new IBOutletConnection(); nsObj.InitWithCoder(decoder); break; }
            //    case "IBPartialClassDescription": { nsObj = new IBPartialClassDescription(); nsObj.InitWithCoder(decoder); break; }
            //    case "IBToOneOutletInfo": { nsObj = new IBToOneOutletInfo(); nsObj.InitWithCoder(decoder); break; }

            //    case "NSArray": { nsObj = new NSArray(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSArrayController": { nsObj = new NSArrayController(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSBox": { nsObj = new NSBox(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSButton": { ;break; }
            //    case "NSButtonCell": { ;break; }
            //    case "NSClipView": { nsObj = new NSClipView(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSCollectionView": { nsObj = new NSCollectionView(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSCollectionViewItem": { nsObj = new NSCollectionViewItem(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSColor": { ;break; }
            //    case "NSCustomObject": { nsObj = new NSCustomObject(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSCustomResource": { nsObj = new NSCustomResource(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSCustomView": { nsObj = new NSCustomView(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSFont": { ;break; }
            //    case "NSMenu": { nsObj = new NSMenu(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSMenuItem": { nsObj = new NSMenuItem(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSMutableArray": { nsObj = new NSMutableArray(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSMutableDictionary": { nsObj = new NSMutableDictionary(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSMutableString": { nsObj = new NSMutableString(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSNibBindingConnector": { nsObj = new NSNibBindingConnector(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSPopUpButton": { ;break; }
            //    case "NSPopUpButtonCell": { ;break; }
            //    case "NSScroller": { nsObj = new NSScroller(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSScrollView": { nsObj = new NSScrollView(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSSegmentedCell": { ;break; }
            //    case "NSSegmentedControl": { ;break; }
            //    case "NSSegmentItem": { ;break; }
            //    case "NSTextField": { nsObj = new NSTextField(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSTextFieldCell": { nsObj = new NSTextFieldCell(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSToolbar": { nsObj = new NSToolbar(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSToolbarFlexibleSpaceItem": { nsObj = new NSToolbarFlexibleSpaceItem(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSToolbarItem": { nsObj = new NSToolbarItem(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSToolbarSeparatorItem": { nsObj = new NSToolbarSeparatorItem(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSToolbarSpaceItem": { nsObj = new NSToolbarSpaceItem(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSView": { nsObj = new NSView(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSViewController": { nsObj = new NSViewController(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSWindowTemplate": { nsObj = new NSWindowTemplate(); nsObj.InitWithCoder(decoder); break; }
            //    case "NSWindowView": { ;break; }

            //    default:
            //        System.Diagnostics.Debug.WriteLine(
            //            string.Format("Unknown <object> class name {0}", attrClass));
            //        break;
            //}

            return nsObj;
        }