ArcObjects SDK To ArcGIS Pro SDK Conversion Guide

365
2
Jump to solution
04-23-2021 03:35 PM
JayFlorey
New Contributor II

Is there a guide that will help me convert a large code base written with ArcObjects SDK for .NET into ArcGIS Pro SDK? At a minimum, a mapping between an ArcObjects interface and the equivalent ArcGIS Pro class would be very useful. Even better would be some additional detail. Here is an example of a C# code snippet that uses the ArcObjects INetworkClass interface and the IGeometricNetwork interface to determine if a feature class has a geometric network:

bool isInNetwork = false;
INetworkClass networkClass = _featureClass as INetworkClass;
if (!object.Equals(null, networkClass))
{
IGeometricNetwork geometricNetwork = networkClass.GeometricNetwork;
if (!object.Equals(null, geometricNetwork))
{
isInNetwork = true;
}
}
return isInNetwork;

_featureClass is a reference to the IFeatureClass interface.

Any assistance would be greatly appreciated.

Regards,

Jay

0 Kudos
1 Solution

Accepted Solutions
ChristopherZent
Esri Regular Contributor

Hi Jay, given the many differences between the SDK's we do not maintain a specific document along those lines.  With this said, the Pro SDK has a large collection of concept and guide documents that can help you to begin to navigate your way with the Pro SDK patterns and the many Pro APIs.  

The first document I'd suggest you review is the ProConcepts Migrating to ArcGIS Pro, which includes several resource lists on getting started here.   You'll want to review the ProConcepts Framework document as  well. There are many introductory learning options like the tutorials, and the extensive set of community samples.  

The API Reference will be helpful in exploring the namespaces and classes, and you'll find many familiar patterns and naming conventions.

Towards your specific code snippet, you'll want to start with reviewing the Geodatabase and Utility Network concepts documents as well, including the snippets and community samples associated with those.

You'll find these and the many other API concept documents and other resource documents along the top-right margin on the Doc Wiki site.   

You're also sure to find many helpful past threads here in the Pro SDK Questions board by searching the knowledge base by your keywords.  Hope this helps you get started some.

View solution in original post

0 Kudos
2 Replies
RichRuh
Esri Regular Contributor

If you haven't already, I'd take a look at the resources here, especially the Concept documents.  The APIs are different enough to make it hard to create a direct mapping between them.

For your specific example, Pro does not support geometric networks and there is no equivalent to INetworkClass or IGeometricNetwork.

--Rich

0 Kudos
ChristopherZent
Esri Regular Contributor

Hi Jay, given the many differences between the SDK's we do not maintain a specific document along those lines.  With this said, the Pro SDK has a large collection of concept and guide documents that can help you to begin to navigate your way with the Pro SDK patterns and the many Pro APIs.  

The first document I'd suggest you review is the ProConcepts Migrating to ArcGIS Pro, which includes several resource lists on getting started here.   You'll want to review the ProConcepts Framework document as  well. There are many introductory learning options like the tutorials, and the extensive set of community samples.  

The API Reference will be helpful in exploring the namespaces and classes, and you'll find many familiar patterns and naming conventions.

Towards your specific code snippet, you'll want to start with reviewing the Geodatabase and Utility Network concepts documents as well, including the snippets and community samples associated with those.

You'll find these and the many other API concept documents and other resource documents along the top-right margin on the Doc Wiki site.   

You're also sure to find many helpful past threads here in the Pro SDK Questions board by searching the knowledge base by your keywords.  Hope this helps you get started some.

View solution in original post

0 Kudos