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); }