The QueryFilter does not function, and errors are returned for methods that require IQueryFilter parameters, such as IFeatureClass.Search, IFeatureSelection.SelectFeatures, and so on, in external ArcObjects applications that access ArcMap using the IAppROT interface.
最後に公開された状態: August 26, 2016ArcObjects SDK for the Microsoft .NET Framework
Use IObjectFactory.Create to create the QueryFilter object instead of the new keyword to ensure the QueryFilter functions as expected from external applications, as shown in the following code:
IQueryFilter pQF = new QueryFilter();
string classID = pQF.GetType().GUID.ToString("B");
/// appRot application space
IObjectFactory objectFactory = (IObjectFactory)pAPP;
pQF = (IQueryFilter)objectFactory.Create(classID);
For more information about this workaround, refer to the document at http://desktop.arcgis.com/en/arcobjects/latest/net/webframe.htm#56eba175-54c1-46b4-801a-fc968e582581.htm.