Java 如何将字段添加到FeatureLayer?

Java 如何将字段添加到FeatureLayer?,java,arcgis,esri,arcobjects,Java,Arcgis,Esri,Arcobjects,我正在尝试向FeatureLayer添加一个字段,这是我用来执行此操作的代码: IMxDocument mxd = (IMxDocument) app.getDocument(); FeatureLayer flayer = ((FeatureLayer)mxd.getSelectedLayer()); IField newField = null; newField = new Field(); IFieldEdit newFieldEdit = (IFieldEdit) newField;

我正在尝试向FeatureLayer添加一个字段,这是我用来执行此操作的代码:

IMxDocument mxd = (IMxDocument) app.getDocument();
FeatureLayer flayer = ((FeatureLayer)mxd.getSelectedLayer());
IField newField = null;
newField = new Field();
IFieldEdit newFieldEdit = (IFieldEdit) newField;
newFieldEdit.setAliasName("Id2");
newFieldEdit.setName("Id2");
newFieldEdit.setType(esriFieldType.esriFieldTypeString);
newFieldEdit.setLength(100);
flayer.addField(newFieldEdit);

但是它引发了一个异常,根据文档,我应该获得一个ISchemaLock,但我不知道如何从FeatureLayer获得schemalock,有人知道吗?

它引发了一个异常-->它引发了什么异常?AutomationException:0x80004005-未指定的错误,实际上我正在尝试添加两个字段,第一个是数字,我可以添加它,没有问题,当尝试附加第二个字段(字符串)时出现错误。这会有帮助吗?首先,featurelayer接口没有名为“addfield”的方法,这是featureclass接口上的一个方法,所以最后一行应该是:flayer.featureclass.addfield(newFieldEdit)