private Schematic.ISchematicElementClass GetElementClass(Schematic.IEnumSchematicElementClass enumElementClass, string linkCClassName)
        {

            enumElementClass.Reset();
            Schematic.ISchematicElementClass elementClass = enumElementClass.Next();
            while (elementClass != null)
            {
                if (elementClass.Name == linkCClassName)
                    return elementClass;

                elementClass = enumElementClass.Next();
            }

            return null;
        }
        private bool IsFieldNumeriqueAndEditable(string fieldName, Schematic.ISchematicElementClass elementClass)
        {
            ITable table = (ITable)elementClass;

            if (table == null)
                return false;

            int index = table.FindField(fieldName);
            if (index < 0) return false;
            esriFieldType fieldType = table.Fields.get_Field(index).Type;


            if ( ((fieldType ==    esriFieldType.esriFieldTypeDouble) || (fieldType ==    esriFieldType.esriFieldTypeInteger) || (fieldType ==    esriFieldType.esriFieldTypeSmallInteger))     && table.Fields.get_Field(index).Editable)
                return true;

            return false;
        }