public moField Clone() { moField sField = new moField(_Name, _ValueType); sField._AliasName = _AliasName; sField._Length = _Length; return(sField); }
public void RemoveAt(Int32 index) { moField sField = _Fields[index]; _Fields.RemoveAt(index); if (FieldRemoved != null) { FieldRemoved(this, index, sField); } }
private void _AttributeFileds_FieldRemoved(object sender, int fieldIndex, moField fieldRemoved) { Int32 sFeatureCount = _Features.Count; for (Int32 i = 0; i < sFeatureCount; i++) { moFeature sFeature = _Features.GetItem(i); sFeature.Attributes.RemoveAt(fieldIndex); } }
public void Append(moField field) { if (FindField(field.Name) >= 0) { throw new Exception("Fields对象中不能存在重名的字段!"); } _Fields.Add(field); //触发事件,广播 if (FieldAppended != null) { FieldAppended(this, field); } }
private moFeature CreateNewFeature() { moAttributes sAttributes = new moAttributes(); Int32 sFieldCount = _AttributeFields.Count; for (Int32 i = 0; i <= sFieldCount - 1; i++) { moField sField = _AttributeFields.GetItem(i); if (sField.ValueType == moValueTypeConstant.dInt16) { Int16 sValue = 0; sAttributes.Append(sValue); } else if (sField.ValueType == moValueTypeConstant.dInt32) { Int32 sValue = 0; sAttributes.Append(sValue); } else if (sField.ValueType == moValueTypeConstant.dInt64) { Int64 sValue = 0; sAttributes.Append(sValue); } else if (sField.ValueType == moValueTypeConstant.dSingle) { float sValue = 0; sAttributes.Append(sValue); } else if (sField.ValueType == moValueTypeConstant.dDouble) { double sValue = 0; sAttributes.Append(sValue); } else if (sField.ValueType == moValueTypeConstant.dText) { String sValue = ""; sAttributes.Append(sValue); } else { throw new Exception("Invalid value type!"); } } moFeature sFeature = new moFeature(_ShapeType, null, sAttributes); return(sFeature); }
private void _AttributeFileds_FieldAppended(object sender, moField fieldAppended) { Int32 sFeatureCount = _Features.Count; for (Int32 i = 0; i <= sFeatureCount - 1; i++) { moFeature sFeature = _Features.GetItem(i); if (fieldAppended.ValueType == moValueTypeConstant.dInt16) { Int16 sValue = 0; sFeature.Attributes.Append(sValue); } else if (fieldAppended.ValueType == moValueTypeConstant.dInt32) { Int32 sValue = 0; sFeature.Attributes.Append(sValue); } else if (fieldAppended.ValueType == moValueTypeConstant.dInt64) { Int64 sValue = 0; sFeature.Attributes.Append(sValue); } else if (fieldAppended.ValueType == moValueTypeConstant.dSingle) { float sValue = 0; sFeature.Attributes.Append(sValue); } else if (fieldAppended.ValueType == moValueTypeConstant.dDouble) { double sValue = 0; sFeature.Attributes.Append(sValue); } else if (fieldAppended.ValueType == moValueTypeConstant.dText) { string sValue = string.Empty; sFeature.Attributes.Append(sValue); } else { throw new Exception("Invalid field value type!"); } } }