//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------


namespace testApp
{
    public partial class App : global::Windows.UI.Xaml.Markup.IXamlMetadataProvider
    {
        private global::testApp.testApp_XamlTypeInfo.XamlMetaDataProvider __appProvider;
        private global::testApp.testApp_XamlTypeInfo.XamlMetaDataProvider _AppProvider
        {
            get
            {
                if (__appProvider == null)
                {
                    __appProvider = new global::testApp.testApp_XamlTypeInfo.XamlMetaDataProvider();
                }
                return __appProvider;
            }
        }

        /// <summary>
        /// GetXamlType(Type)
        /// </summary>
        public global::Windows.UI.Xaml.Markup.IXamlType GetXamlType(global::System.Type type)
        {
            return _AppProvider.GetXamlType(type);
        }

        /// <summary>
        /// GetXamlType(String)
        /// </summary>
        public global::Windows.UI.Xaml.Markup.IXamlType GetXamlType(string fullName)
        {
            return _AppProvider.GetXamlType(fullName);
        }

        /// <summary>
        /// GetXmlnsDefinitions()
        /// </summary>
        public global::Windows.UI.Xaml.Markup.XmlnsDefinition[] GetXmlnsDefinitions()
        {
            return _AppProvider.GetXmlnsDefinitions();
        }
    }
}

namespace testApp.testApp_XamlTypeInfo
{
    /// <summary>
    /// Main class for providing metadata for the app or library
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Windows.UI.Xaml.Build.Tasks"," 10.0.17.0")]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public sealed class XamlMetaDataProvider : global::Windows.UI.Xaml.Markup.IXamlMetadataProvider
    {
        private global::testApp.testApp_XamlTypeInfo.XamlTypeInfoProvider _provider = null;

        private global::testApp.testApp_XamlTypeInfo.XamlTypeInfoProvider Provider
        {
            get
            {
                if (_provider == null)
                {
                    _provider = new global::testApp.testApp_XamlTypeInfo.XamlTypeInfoProvider();
                }
                return _provider;
            }
        }

        /// <summary>
        /// GetXamlType(Type)
        /// </summary>
        public global::Windows.UI.Xaml.Markup.IXamlType GetXamlType(global::System.Type type)
        {
            return Provider.GetXamlTypeByType(type);
        }

        /// <summary>
        /// GetXamlType(String)
        /// </summary>
        public global::Windows.UI.Xaml.Markup.IXamlType GetXamlType(string fullName)
        {
            return Provider.GetXamlTypeByName(fullName);
        }

        /// <summary>
        /// GetXmlnsDefinitions()
        /// </summary>
        public global::Windows.UI.Xaml.Markup.XmlnsDefinition[] GetXmlnsDefinitions()
        {
            return new global::Windows.UI.Xaml.Markup.XmlnsDefinition[0];
        }
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Windows.UI.Xaml.Build.Tasks"," 10.0.17.0")]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    internal partial class XamlTypeInfoProvider
    {
        public global::Windows.UI.Xaml.Markup.IXamlType GetXamlTypeByType(global::System.Type type)
        {
            global::Windows.UI.Xaml.Markup.IXamlType xamlType;
            lock (_xamlTypeCacheByType) 
            { 
                if (_xamlTypeCacheByType.TryGetValue(type, out xamlType))
                {
                    return xamlType;
                }
                int typeIndex = LookupTypeIndexByType(type);
                if(typeIndex != -1)
                {
                    xamlType = CreateXamlType(typeIndex);
                }
                if (xamlType != null)
                {
                    _xamlTypeCacheByName.Add(xamlType.FullName, xamlType);
                    _xamlTypeCacheByType.Add(xamlType.UnderlyingType, xamlType);
                }
            }
            return xamlType;
        }

        public global::Windows.UI.Xaml.Markup.IXamlType GetXamlTypeByName(string typeName)
        {
            if (string.IsNullOrEmpty(typeName))
            {
                return null;
            }
            global::Windows.UI.Xaml.Markup.IXamlType xamlType;
            lock (_xamlTypeCacheByType)
            {
                if (_xamlTypeCacheByName.TryGetValue(typeName, out xamlType))
                {
                    return xamlType;
                }
                int typeIndex = LookupTypeIndexByName(typeName);
                if(typeIndex != -1)
                {
                    xamlType = CreateXamlType(typeIndex);
                }
                if (xamlType != null)
                {
                    _xamlTypeCacheByName.Add(xamlType.FullName, xamlType);
                    _xamlTypeCacheByType.Add(xamlType.UnderlyingType, xamlType);
                }
            }
            return xamlType;
        }

        public global::Windows.UI.Xaml.Markup.IXamlMember GetMemberByLongName(string longMemberName)
        {
            if (string.IsNullOrEmpty(longMemberName))
            {
                return null;
            }
            global::Windows.UI.Xaml.Markup.IXamlMember xamlMember;
            lock (_xamlMembers)
            {
                if (_xamlMembers.TryGetValue(longMemberName, out xamlMember))
                {
                    return xamlMember;
                }
                xamlMember = CreateXamlMember(longMemberName);
                if (xamlMember != null)
                {
                    _xamlMembers.Add(longMemberName, xamlMember);
                }
            }
            return xamlMember;
        }

        global::System.Collections.Generic.Dictionary<string, global::Windows.UI.Xaml.Markup.IXamlType>
                _xamlTypeCacheByName = new global::System.Collections.Generic.Dictionary<string, global::Windows.UI.Xaml.Markup.IXamlType>();

        global::System.Collections.Generic.Dictionary<global::System.Type, global::Windows.UI.Xaml.Markup.IXamlType>
                _xamlTypeCacheByType = new global::System.Collections.Generic.Dictionary<global::System.Type, global::Windows.UI.Xaml.Markup.IXamlType>();

        global::System.Collections.Generic.Dictionary<string, global::Windows.UI.Xaml.Markup.IXamlMember>
                _xamlMembers = new global::System.Collections.Generic.Dictionary<string, global::Windows.UI.Xaml.Markup.IXamlMember>();

        string[] _typeNameTable = null;
        global::System.Type[] _typeTable = null;

        private void InitTypeTables()
        {
            _typeNameTable = new string[16];
            _typeNameTable[0] = "testApp.ReaderViewModel";
            _typeNameTable[1] = "Object";
            _typeNameTable[2] = "System.Collections.ObjectModel.ObservableCollection`1<testApp.TagItem>";
            _typeNameTable[3] = "System.Collections.ObjectModel.Collection`1<testApp.TagItem>";
            _typeNameTable[4] = "testApp.TagItem";
            _typeNameTable[5] = "Int32";
            _typeNameTable[6] = "String";
            _typeNameTable[7] = "Single";
            _typeNameTable[8] = "System.Windows.Input.ICommand";
            _typeNameTable[9] = "testApp.ConverterIsConnecting";
            _typeNameTable[10] = "testApp.ConverterIsConnected";
            _typeNameTable[11] = "testApp.ConverterConnStateToBoolForButtonEnable";
            _typeNameTable[12] = "testApp.ConverterConnStateToString";
            _typeNameTable[13] = "testApp.MainPage";
            _typeNameTable[14] = "Windows.UI.Xaml.Controls.Page";
            _typeNameTable[15] = "Windows.UI.Xaml.Controls.UserControl";

            _typeTable = new global::System.Type[16];
            _typeTable[0] = typeof(global::testApp.ReaderViewModel);
            _typeTable[1] = typeof(global::System.Object);
            _typeTable[2] = typeof(global::System.Collections.ObjectModel.ObservableCollection<global::testApp.TagItem>);
            _typeTable[3] = typeof(global::System.Collections.ObjectModel.Collection<global::testApp.TagItem>);
            _typeTable[4] = typeof(global::testApp.TagItem);
            _typeTable[5] = typeof(global::System.Int32);
            _typeTable[6] = typeof(global::System.String);
            _typeTable[7] = typeof(global::System.Single);
            _typeTable[8] = typeof(global::System.Windows.Input.ICommand);
            _typeTable[9] = typeof(global::testApp.ConverterIsConnecting);
            _typeTable[10] = typeof(global::testApp.ConverterIsConnected);
            _typeTable[11] = typeof(global::testApp.ConverterConnStateToBoolForButtonEnable);
            _typeTable[12] = typeof(global::testApp.ConverterConnStateToString);
            _typeTable[13] = typeof(global::testApp.MainPage);
            _typeTable[14] = typeof(global::Windows.UI.Xaml.Controls.Page);
            _typeTable[15] = typeof(global::Windows.UI.Xaml.Controls.UserControl);
        }

        private int LookupTypeIndexByName(string typeName)
        {
            if (_typeNameTable == null)
            {
                InitTypeTables();
            }
            for (int i=0; i<_typeNameTable.Length; i++)
            {
                if(0 == string.CompareOrdinal(_typeNameTable[i], typeName))
                {
                    return i;
                }
            }
            return -1;
        }

        private int LookupTypeIndexByType(global::System.Type type)
        {
            if (_typeTable == null)
            {
                InitTypeTables();
            }
            for(int i=0; i<_typeTable.Length; i++)
            {
                if(type == _typeTable[i])
                {
                    return i;
                }
            }
            return -1;
        }

        private object Activate_0_ReaderViewModel() { return new global::testApp.ReaderViewModel(); }
        private object Activate_2_ObservableCollection() { return new global::System.Collections.ObjectModel.ObservableCollection<global::testApp.TagItem>(); }
        private object Activate_3_Collection() { return new global::System.Collections.ObjectModel.Collection<global::testApp.TagItem>(); }
        private object Activate_9_ConverterIsConnecting() { return new global::testApp.ConverterIsConnecting(); }
        private object Activate_10_ConverterIsConnected() { return new global::testApp.ConverterIsConnected(); }
        private object Activate_11_ConverterConnStateToBoolForButtonEnable() { return new global::testApp.ConverterConnStateToBoolForButtonEnable(); }
        private object Activate_12_ConverterConnStateToString() { return new global::testApp.ConverterConnStateToString(); }
        private object Activate_13_MainPage() { return new global::testApp.MainPage(); }
        private void VectorAdd_2_ObservableCollection(object instance, object item)
        {
            var collection = (global::System.Collections.Generic.ICollection<global::testApp.TagItem>)instance;
            var newItem = (global::testApp.TagItem)item;
            collection.Add(newItem);
        }
        private void VectorAdd_3_Collection(object instance, object item)
        {
            var collection = (global::System.Collections.Generic.ICollection<global::testApp.TagItem>)instance;
            var newItem = (global::testApp.TagItem)item;
            collection.Add(newItem);
        }

        private global::Windows.UI.Xaml.Markup.IXamlType CreateXamlType(int typeIndex)
        {
            global::testApp.testApp_XamlTypeInfo.XamlSystemBaseType xamlType = null;
            global::testApp.testApp_XamlTypeInfo.XamlUserType userType;
            string typeName = _typeNameTable[typeIndex];
            global::System.Type type = _typeTable[typeIndex];

            switch (typeIndex)
            {

            case 0:   //  testApp.ReaderViewModel
                userType = new global::testApp.testApp_XamlTypeInfo.XamlUserType(this, typeName, type, GetXamlTypeByName("Object"));
                userType.Activator = Activate_0_ReaderViewModel;
                userType.AddMemberName("TagList");
                userType.AddMemberName("PortName");
                userType.AddMemberName("DeviceIndex");
                userType.AddMemberName("ConnState");
                userType.AddMemberName("BattState");
                userType.AddMemberName("ActState");
                userType.AddMemberName("Version");
                userType.AddMemberName("SerialNumber");
                userType.AddMemberName("TotalCount");
                userType.AddMemberName("ConnectStateTextForButton");
                userType.AddMemberName("InventoryStateTextForButton");
                userType.AddMemberName("DecodeStateTextForButton");
                userType.AddMemberName("ConnectClick");
                userType.AddMemberName("InventoryClick");
                userType.AddMemberName("DecodeClick");
                userType.AddMemberName("ClearClick");
                userType.SetIsLocalType();
                xamlType = userType;
                break;

            case 1:   //  Object
                xamlType = new global::testApp.testApp_XamlTypeInfo.XamlSystemBaseType(typeName, type);
                break;

            case 2:   //  System.Collections.ObjectModel.ObservableCollection`1<testApp.TagItem>
                userType = new global::testApp.testApp_XamlTypeInfo.XamlUserType(this, typeName, type, GetXamlTypeByName("System.Collections.ObjectModel.Collection`1<testApp.TagItem>"));
                userType.CollectionAdd = VectorAdd_2_ObservableCollection;
                userType.SetIsReturnTypeStub();
                xamlType = userType;
                break;

            case 3:   //  System.Collections.ObjectModel.Collection`1<testApp.TagItem>
                userType = new global::testApp.testApp_XamlTypeInfo.XamlUserType(this, typeName, type, GetXamlTypeByName("Object"));
                userType.Activator = Activate_3_Collection;
                userType.CollectionAdd = VectorAdd_3_Collection;
                xamlType = userType;
                break;

            case 4:   //  testApp.TagItem
                userType = new global::testApp.testApp_XamlTypeInfo.XamlUserType(this, typeName, type, GetXamlTypeByName("Object"));
                userType.AddMemberName("No");
                userType.AddMemberName("Data");
                userType.AddMemberName("Count");
                userType.SetIsLocalType();
                xamlType = userType;
                break;

            case 5:   //  Int32
                xamlType = new global::testApp.testApp_XamlTypeInfo.XamlSystemBaseType(typeName, type);
                break;

            case 6:   //  String
                xamlType = new global::testApp.testApp_XamlTypeInfo.XamlSystemBaseType(typeName, type);
                break;

            case 7:   //  Single
                xamlType = new global::testApp.testApp_XamlTypeInfo.XamlSystemBaseType(typeName, type);
                break;

            case 8:   //  System.Windows.Input.ICommand
                userType = new global::testApp.testApp_XamlTypeInfo.XamlUserType(this, typeName, type, null);
                userType.SetIsReturnTypeStub();
                xamlType = userType;
                break;

            case 9:   //  testApp.ConverterIsConnecting
                userType = new global::testApp.testApp_XamlTypeInfo.XamlUserType(this, typeName, type, GetXamlTypeByName("Object"));
                userType.Activator = Activate_9_ConverterIsConnecting;
                userType.SetIsLocalType();
                xamlType = userType;
                break;

            case 10:   //  testApp.ConverterIsConnected
                userType = new global::testApp.testApp_XamlTypeInfo.XamlUserType(this, typeName, type, GetXamlTypeByName("Object"));
                userType.Activator = Activate_10_ConverterIsConnected;
                userType.SetIsLocalType();
                xamlType = userType;
                break;

            case 11:   //  testApp.ConverterConnStateToBoolForButtonEnable
                userType = new global::testApp.testApp_XamlTypeInfo.XamlUserType(this, typeName, type, GetXamlTypeByName("Object"));
                userType.Activator = Activate_11_ConverterConnStateToBoolForButtonEnable;
                userType.SetIsLocalType();
                xamlType = userType;
                break;

            case 12:   //  testApp.ConverterConnStateToString
                userType = new global::testApp.testApp_XamlTypeInfo.XamlUserType(this, typeName, type, GetXamlTypeByName("Object"));
                userType.Activator = Activate_12_ConverterConnStateToString;
                userType.SetIsLocalType();
                xamlType = userType;
                break;

            case 13:   //  testApp.MainPage
                userType = new global::testApp.testApp_XamlTypeInfo.XamlUserType(this, typeName, type, GetXamlTypeByName("Windows.UI.Xaml.Controls.Page"));
                userType.Activator = Activate_13_MainPage;
                userType.SetIsLocalType();
                xamlType = userType;
                break;

            case 14:   //  Windows.UI.Xaml.Controls.Page
                xamlType = new global::testApp.testApp_XamlTypeInfo.XamlSystemBaseType(typeName, type);
                break;

            case 15:   //  Windows.UI.Xaml.Controls.UserControl
                xamlType = new global::testApp.testApp_XamlTypeInfo.XamlSystemBaseType(typeName, type);
                break;
            }
            return xamlType;
        }


        private object get_0_ReaderViewModel_TagList(object instance)
        {
            var that = (global::testApp.ReaderViewModel)instance;
            return that.TagList;
        }
        private object get_1_TagItem_No(object instance)
        {
            var that = (global::testApp.TagItem)instance;
            return that.No;
        }
        private object get_2_TagItem_Data(object instance)
        {
            var that = (global::testApp.TagItem)instance;
            return that.Data;
        }
        private object get_3_TagItem_Count(object instance)
        {
            var that = (global::testApp.TagItem)instance;
            return that.Count;
        }
        private object get_4_ReaderViewModel_PortName(object instance)
        {
            var that = (global::testApp.ReaderViewModel)instance;
            return that.PortName;
        }
        private void set_4_ReaderViewModel_PortName(object instance, object Value)
        {
            var that = (global::testApp.ReaderViewModel)instance;
            that.PortName = (global::System.String)Value;
        }
        private object get_5_ReaderViewModel_DeviceIndex(object instance)
        {
            var that = (global::testApp.ReaderViewModel)instance;
            return that.DeviceIndex;
        }
        private void set_5_ReaderViewModel_DeviceIndex(object instance, object Value)
        {
            var that = (global::testApp.ReaderViewModel)instance;
            that.DeviceIndex = (global::System.Int32)Value;
        }
        private object get_6_ReaderViewModel_ConnState(object instance)
        {
            var that = (global::testApp.ReaderViewModel)instance;
            return that.ConnState;
        }
        private object get_7_ReaderViewModel_BattState(object instance)
        {
            var that = (global::testApp.ReaderViewModel)instance;
            return that.BattState;
        }
        private object get_8_ReaderViewModel_ActState(object instance)
        {
            var that = (global::testApp.ReaderViewModel)instance;
            return that.ActState;
        }
        private object get_9_ReaderViewModel_Version(object instance)
        {
            var that = (global::testApp.ReaderViewModel)instance;
            return that.Version;
        }
        private object get_10_ReaderViewModel_SerialNumber(object instance)
        {
            var that = (global::testApp.ReaderViewModel)instance;
            return that.SerialNumber;
        }
        private object get_11_ReaderViewModel_TotalCount(object instance)
        {
            var that = (global::testApp.ReaderViewModel)instance;
            return that.TotalCount;
        }
        private object get_12_ReaderViewModel_ConnectStateTextForButton(object instance)
        {
            var that = (global::testApp.ReaderViewModel)instance;
            return that.ConnectStateTextForButton;
        }
        private object get_13_ReaderViewModel_InventoryStateTextForButton(object instance)
        {
            var that = (global::testApp.ReaderViewModel)instance;
            return that.InventoryStateTextForButton;
        }
        private object get_14_ReaderViewModel_DecodeStateTextForButton(object instance)
        {
            var that = (global::testApp.ReaderViewModel)instance;
            return that.DecodeStateTextForButton;
        }
        private object get_15_ReaderViewModel_ConnectClick(object instance)
        {
            var that = (global::testApp.ReaderViewModel)instance;
            return that.ConnectClick;
        }
        private object get_16_ReaderViewModel_InventoryClick(object instance)
        {
            var that = (global::testApp.ReaderViewModel)instance;
            return that.InventoryClick;
        }
        private object get_17_ReaderViewModel_DecodeClick(object instance)
        {
            var that = (global::testApp.ReaderViewModel)instance;
            return that.DecodeClick;
        }
        private object get_18_ReaderViewModel_ClearClick(object instance)
        {
            var that = (global::testApp.ReaderViewModel)instance;
            return that.ClearClick;
        }

        private global::Windows.UI.Xaml.Markup.IXamlMember CreateXamlMember(string longMemberName)
        {
            global::testApp.testApp_XamlTypeInfo.XamlMember xamlMember = null;
            global::testApp.testApp_XamlTypeInfo.XamlUserType userType;

            switch (longMemberName)
            {
            case "testApp.ReaderViewModel.TagList":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.ReaderViewModel");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "TagList", "System.Collections.ObjectModel.ObservableCollection`1<testApp.TagItem>");
                xamlMember.Getter = get_0_ReaderViewModel_TagList;
                xamlMember.SetIsReadOnly();
                break;
            case "testApp.TagItem.No":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.TagItem");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "No", "Int32");
                xamlMember.Getter = get_1_TagItem_No;
                xamlMember.SetIsReadOnly();
                break;
            case "testApp.TagItem.Data":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.TagItem");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "Data", "String");
                xamlMember.Getter = get_2_TagItem_Data;
                xamlMember.SetIsReadOnly();
                break;
            case "testApp.TagItem.Count":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.TagItem");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "Count", "Single");
                xamlMember.Getter = get_3_TagItem_Count;
                xamlMember.SetIsReadOnly();
                break;
            case "testApp.ReaderViewModel.PortName":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.ReaderViewModel");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "PortName", "String");
                xamlMember.Getter = get_4_ReaderViewModel_PortName;
                xamlMember.Setter = set_4_ReaderViewModel_PortName;
                break;
            case "testApp.ReaderViewModel.DeviceIndex":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.ReaderViewModel");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "DeviceIndex", "Int32");
                xamlMember.Getter = get_5_ReaderViewModel_DeviceIndex;
                xamlMember.Setter = set_5_ReaderViewModel_DeviceIndex;
                break;
            case "testApp.ReaderViewModel.ConnState":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.ReaderViewModel");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "ConnState", "String");
                xamlMember.Getter = get_6_ReaderViewModel_ConnState;
                xamlMember.SetIsReadOnly();
                break;
            case "testApp.ReaderViewModel.BattState":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.ReaderViewModel");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "BattState", "String");
                xamlMember.Getter = get_7_ReaderViewModel_BattState;
                xamlMember.SetIsReadOnly();
                break;
            case "testApp.ReaderViewModel.ActState":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.ReaderViewModel");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "ActState", "String");
                xamlMember.Getter = get_8_ReaderViewModel_ActState;
                xamlMember.SetIsReadOnly();
                break;
            case "testApp.ReaderViewModel.Version":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.ReaderViewModel");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "Version", "String");
                xamlMember.Getter = get_9_ReaderViewModel_Version;
                xamlMember.SetIsReadOnly();
                break;
            case "testApp.ReaderViewModel.SerialNumber":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.ReaderViewModel");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "SerialNumber", "String");
                xamlMember.Getter = get_10_ReaderViewModel_SerialNumber;
                xamlMember.SetIsReadOnly();
                break;
            case "testApp.ReaderViewModel.TotalCount":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.ReaderViewModel");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "TotalCount", "Int32");
                xamlMember.Getter = get_11_ReaderViewModel_TotalCount;
                xamlMember.SetIsReadOnly();
                break;
            case "testApp.ReaderViewModel.ConnectStateTextForButton":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.ReaderViewModel");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "ConnectStateTextForButton", "String");
                xamlMember.Getter = get_12_ReaderViewModel_ConnectStateTextForButton;
                xamlMember.SetIsReadOnly();
                break;
            case "testApp.ReaderViewModel.InventoryStateTextForButton":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.ReaderViewModel");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "InventoryStateTextForButton", "String");
                xamlMember.Getter = get_13_ReaderViewModel_InventoryStateTextForButton;
                xamlMember.SetIsReadOnly();
                break;
            case "testApp.ReaderViewModel.DecodeStateTextForButton":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.ReaderViewModel");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "DecodeStateTextForButton", "String");
                xamlMember.Getter = get_14_ReaderViewModel_DecodeStateTextForButton;
                xamlMember.SetIsReadOnly();
                break;
            case "testApp.ReaderViewModel.ConnectClick":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.ReaderViewModel");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "ConnectClick", "System.Windows.Input.ICommand");
                xamlMember.Getter = get_15_ReaderViewModel_ConnectClick;
                xamlMember.SetIsReadOnly();
                break;
            case "testApp.ReaderViewModel.InventoryClick":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.ReaderViewModel");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "InventoryClick", "System.Windows.Input.ICommand");
                xamlMember.Getter = get_16_ReaderViewModel_InventoryClick;
                xamlMember.SetIsReadOnly();
                break;
            case "testApp.ReaderViewModel.DecodeClick":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.ReaderViewModel");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "DecodeClick", "System.Windows.Input.ICommand");
                xamlMember.Getter = get_17_ReaderViewModel_DecodeClick;
                xamlMember.SetIsReadOnly();
                break;
            case "testApp.ReaderViewModel.ClearClick":
                userType = (global::testApp.testApp_XamlTypeInfo.XamlUserType)GetXamlTypeByName("testApp.ReaderViewModel");
                xamlMember = new global::testApp.testApp_XamlTypeInfo.XamlMember(this, "ClearClick", "System.Windows.Input.ICommand");
                xamlMember.Getter = get_18_ReaderViewModel_ClearClick;
                xamlMember.SetIsReadOnly();
                break;
            }
            return xamlMember;
        }
    }

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Windows.UI.Xaml.Build.Tasks"," 10.0.17.0")]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    internal class XamlSystemBaseType : global::Windows.UI.Xaml.Markup.IXamlType
    {
        string _fullName;
        global::System.Type _underlyingType;

        public XamlSystemBaseType(string fullName, global::System.Type underlyingType)
        {
            _fullName = fullName;
            _underlyingType = underlyingType;
        }

        public string FullName { get { return _fullName; } }

        public global::System.Type UnderlyingType
        {
            get
            {
                return _underlyingType;
            }
        }

        virtual public global::Windows.UI.Xaml.Markup.IXamlType BaseType { get { throw new global::System.NotImplementedException(); } }
        virtual public global::Windows.UI.Xaml.Markup.IXamlMember ContentProperty { get { throw new global::System.NotImplementedException(); } }
        virtual public global::Windows.UI.Xaml.Markup.IXamlMember GetMember(string name) { throw new global::System.NotImplementedException(); }
        virtual public bool IsArray { get { throw new global::System.NotImplementedException(); } }
        virtual public bool IsCollection { get { throw new global::System.NotImplementedException(); } }
        virtual public bool IsConstructible { get { throw new global::System.NotImplementedException(); } }
        virtual public bool IsDictionary { get { throw new global::System.NotImplementedException(); } }
        virtual public bool IsMarkupExtension { get { throw new global::System.NotImplementedException(); } }
        virtual public bool IsBindable { get { throw new global::System.NotImplementedException(); } }
        virtual public bool IsReturnTypeStub { get { throw new global::System.NotImplementedException(); } }
        virtual public bool IsLocalType { get { throw new global::System.NotImplementedException(); } }
        virtual public global::Windows.UI.Xaml.Markup.IXamlType ItemType { get { throw new global::System.NotImplementedException(); } }
        virtual public global::Windows.UI.Xaml.Markup.IXamlType KeyType { get { throw new global::System.NotImplementedException(); } }
        virtual public object ActivateInstance() { throw new global::System.NotImplementedException(); }
        virtual public void AddToMap(object instance, object key, object item)  { throw new global::System.NotImplementedException(); }
        virtual public void AddToVector(object instance, object item)  { throw new global::System.NotImplementedException(); }
        virtual public void RunInitializer()   { throw new global::System.NotImplementedException(); }
        virtual public object CreateFromString(string input)   { throw new global::System.NotImplementedException(); }
    }
    
    internal delegate object Activator();
    internal delegate void AddToCollection(object instance, object item);
    internal delegate void AddToDictionary(object instance, object key, object item);
    internal delegate object CreateFromStringMethod(string args);

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Windows.UI.Xaml.Build.Tasks"," 10.0.17.0")]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    internal class XamlUserType : global::testApp.testApp_XamlTypeInfo.XamlSystemBaseType
    {
        global::testApp.testApp_XamlTypeInfo.XamlTypeInfoProvider _provider;
        global::Windows.UI.Xaml.Markup.IXamlType _baseType;
        bool _isArray;
        bool _isMarkupExtension;
        bool _isBindable;
        bool _isReturnTypeStub;
        bool _isLocalType;

        string _contentPropertyName;
        string _itemTypeName;
        string _keyTypeName;
        global::System.Collections.Generic.Dictionary<string, string> _memberNames;
        global::System.Collections.Generic.Dictionary<string, object> _enumValues;

        public XamlUserType(global::testApp.testApp_XamlTypeInfo.XamlTypeInfoProvider provider, string fullName, global::System.Type fullType, global::Windows.UI.Xaml.Markup.IXamlType baseType)
            :base(fullName, fullType)
        {
            _provider = provider;
            _baseType = baseType;
        }

        // --- Interface methods ----

        override public global::Windows.UI.Xaml.Markup.IXamlType BaseType { get { return _baseType; } }
        override public bool IsArray { get { return _isArray; } }
        override public bool IsCollection { get { return (CollectionAdd != null); } }
        override public bool IsConstructible { get { return (Activator != null); } }
        override public bool IsDictionary { get { return (DictionaryAdd != null); } }
        override public bool IsMarkupExtension { get { return _isMarkupExtension; } }
        override public bool IsBindable { get { return _isBindable; } }
        override public bool IsReturnTypeStub { get { return _isReturnTypeStub; } }
        override public bool IsLocalType { get { return _isLocalType; } }

        override public global::Windows.UI.Xaml.Markup.IXamlMember ContentProperty
        {
            get { return _provider.GetMemberByLongName(_contentPropertyName); }
        }

        override public global::Windows.UI.Xaml.Markup.IXamlType ItemType
        {
            get { return _provider.GetXamlTypeByName(_itemTypeName); }
        }

        override public global::Windows.UI.Xaml.Markup.IXamlType KeyType
        {
            get { return _provider.GetXamlTypeByName(_keyTypeName); }
        }

        override public global::Windows.UI.Xaml.Markup.IXamlMember GetMember(string name)
        {
            if (_memberNames == null)
            {
                return null;
            }
            string longName;
            if (_memberNames.TryGetValue(name, out longName))
            {
                return _provider.GetMemberByLongName(longName);
            }
            return null;
        }

        override public object ActivateInstance()
        {
            return Activator(); 
        }

        override public void AddToMap(object instance, object key, object item) 
        {
            DictionaryAdd(instance, key, item);
        }

        override public void AddToVector(object instance, object item)
        {
            CollectionAdd(instance, item);
        }

        override public void RunInitializer() 
        {
            global::System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(UnderlyingType.TypeHandle);
        }

        override public object CreateFromString(string input)
        {
            if (CreateFromStringMethod != null)
            {
                return this.CreateFromStringMethod(input);
            }
            else if (_enumValues != null)
            {
                int value = 0;

                string[] valueParts = input.Split(',');

                foreach (string valuePart in valueParts) 
                {
                    object partValue;
                    int enumFieldValue = 0;
                    try
                    {
                        if (_enumValues.TryGetValue(valuePart.Trim(), out partValue))
                        {
                            enumFieldValue = global::System.Convert.ToInt32(partValue);
                        }
                        else
                        {
                            try
                            {
                                enumFieldValue = global::System.Convert.ToInt32(valuePart.Trim());
                            }
                            catch( global::System.FormatException )
                            {
                                foreach( string key in _enumValues.Keys )
                                {
                                    if( string.Compare(valuePart.Trim(), key, global::System.StringComparison.OrdinalIgnoreCase) == 0 )
                                    {
                                        if( _enumValues.TryGetValue(key.Trim(), out partValue) )
                                        {
                                            enumFieldValue = global::System.Convert.ToInt32(partValue);
                                            break;
                                        }
                                    }
                                }
                            }
                        }
                        value |= enumFieldValue; 
                    }
                    catch( global::System.FormatException )
                    {
                        throw new global::System.ArgumentException(input, FullName);
                    }
                }

                return value; 
            }
            throw new global::System.ArgumentException(input, FullName);
        }

        // --- End of Interface methods

        public Activator Activator { get; set; }
        public AddToCollection CollectionAdd { get; set; }
        public AddToDictionary DictionaryAdd { get; set; }
        public CreateFromStringMethod CreateFromStringMethod {get; set; }

        public void SetContentPropertyName(string contentPropertyName)
        {
            _contentPropertyName = contentPropertyName;
        }

        public void SetIsArray()
        {
            _isArray = true; 
        }

        public void SetIsMarkupExtension()
        {
            _isMarkupExtension = true;
        }

        public void SetIsBindable()
        {
            _isBindable = true;
        }

        public void SetIsReturnTypeStub()
        {
            _isReturnTypeStub = true;
        }

        public void SetIsLocalType()
        {
            _isLocalType = true;
        }

        public void SetItemTypeName(string itemTypeName)
        {
            _itemTypeName = itemTypeName;
        }

        public void SetKeyTypeName(string keyTypeName)
        {
            _keyTypeName = keyTypeName;
        }

        public void AddMemberName(string shortName)
        {
            if(_memberNames == null)
            {
                _memberNames =  new global::System.Collections.Generic.Dictionary<string,string>();
            }
            _memberNames.Add(shortName, FullName + "." + shortName);
        }

        public void AddEnumValue(string name, object value)
        {
            if (_enumValues == null)
            {
                _enumValues = new global::System.Collections.Generic.Dictionary<string, object>();
            }
            _enumValues.Add(name, value);
        }
    }

    internal delegate object Getter(object instance);
    internal delegate void Setter(object instance, object value);

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Windows.UI.Xaml.Build.Tasks"," 10.0.17.0")]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    internal class XamlMember : global::Windows.UI.Xaml.Markup.IXamlMember
    {
        global::testApp.testApp_XamlTypeInfo.XamlTypeInfoProvider _provider;
        string _name;
        bool _isAttachable;
        bool _isDependencyProperty;
        bool _isReadOnly;

        string _typeName;
        string _targetTypeName;

        public XamlMember(global::testApp.testApp_XamlTypeInfo.XamlTypeInfoProvider provider, string name, string typeName)
        {
            _name = name;
            _typeName = typeName;
            _provider = provider;
        }

        public string Name { get { return _name; } }

        public global::Windows.UI.Xaml.Markup.IXamlType Type
        {
            get { return _provider.GetXamlTypeByName(_typeName); }
        }

        public void SetTargetTypeName(string targetTypeName)
        {
            _targetTypeName = targetTypeName;
        }
        public global::Windows.UI.Xaml.Markup.IXamlType TargetType
        {
            get { return _provider.GetXamlTypeByName(_targetTypeName); }
        }

        public void SetIsAttachable() { _isAttachable = true; }
        public bool IsAttachable { get { return _isAttachable; } }

        public void SetIsDependencyProperty() { _isDependencyProperty = true; }
        public bool IsDependencyProperty { get { return _isDependencyProperty; } }

        public void SetIsReadOnly() { _isReadOnly = true; }
        public bool IsReadOnly { get { return _isReadOnly; } }

        public Getter Getter { get; set; }
        public object GetValue(object instance)
        {
            if (Getter != null)
                return Getter(instance);
            else
                throw new global::System.InvalidOperationException("GetValue");
        }

        public Setter Setter { get; set; }
        public void SetValue(object instance, object value)
        {
            if (Setter != null)
                Setter(instance, value);
            else
                throw new global::System.InvalidOperationException("SetValue");
        }
    }
}

