Exemplo n.º 1
0
        private void AddGenericsToToolBox <T>(MultiPicker <T> picker) where T : class
        {
            ILNode AddToolBoxNode   = new ILNode(null, null, null, StructureView.None);
            ILNode GenericExtension = AddToolBoxNode.Add("<Local GenericParameter>", "<Local GenericParameter>", null, StructureView.Structure);

            if (methodDefinition.HasGenericParameters)
            {
                foreach (GenericParameter gpar in methodDefinition.GenericParameters)
                {
                    GenericExtension.Add(gpar.Name, gpar.FullName, gpar, StructureView.Classes);
                }
            }
            TypeDefinition recdef = methodDefinition.DeclaringType;

            while (recdef != null)
            {
                if (recdef.HasGenericParameters)
                {
                    foreach (GenericParameter gpar in recdef.GenericParameters)
                    {
                        GenericExtension.Add(gpar.Name, gpar.FullName, gpar, StructureView.Classes);
                    }
                }
                if (recdef.IsNested)
                {
                    recdef = recdef.DeclaringType;
                }
                else
                {
                    recdef = null;
                }
            }
            picker.AddToolboxNode(AddToolBoxNode);
        }