ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / BulkLayerCreationParams Class / BulkLayerCreationParams Constructor / BulkLayerCreationParams Constructor(IEnumerable<Uri>)
An enumeration of System.Uri that represent a set of paths or urls to datasets or .lyrx or .lpkx files.
Example Version

BulkLayerCreationParams Constructor(IEnumerable<Uri>)
Creates a parameter object with an enumeration of System.Uri.
Syntax
public BulkLayerCreationParams( 
   IEnumerable<Uri> uris
)

Parameters

uris
An enumeration of System.Uri that represent a set of paths or urls to datasets or .lyrx or .lpkx files.
Remarks

Some sample paths to:

A FeatureClass in a FileGeodatabase C:\Data\MyFileGDB.gdb\Census
A shape file in a folder \\Machine\SharedFolder\MySpatialData.dbf
A RasterDataset in a FileGeodatabase C:\Data\MyFileGDB.gdb\DEM
A FeatureClass from a SDE C:\Connections\MySDEConnection.sde\Roads
An image file in a folder \\Machine\SharedFolder\Imagery.tif
A .lyrx or .lpkx file \\Machine\SharedFolder\Fires.lyrx
A map service layer http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer
A feature layer off a map or feature service http://sampleserver6.arcgisonline.com/arcgis/rest/services/NapervilleShelters/FeatureServer/0

Example
Create mutliple layers with BulkLayerCreationParams
  var uriShp = new Uri(@"c:\data\roads.shp");
  var uriSde = new Uri(@"c:\MyDataConnections\MySDE.sde\Census");
  var uri = new Uri(@"http://sampleserver6.arcgisonline.com/arcgis/rest/services/NapervilleShelters/FeatureServer/0");

  var uris = new List<Uri>() { uriShp, uriSde, uri }; ;

  // set the index and visibility
  var blkParams = new BulkLayerCreationParams(uris);
  blkParams.MapMemberPosition = MapMemberPosition.Index;
  blkParams.MapMemberIndex = 2;
  blkParams.IsVisible = false;

  var layers = LayerFactory.Instance.CreateLayers(blkParams, MapView.Active.Map);
}

Add a GeoPackage to the Map
string pathToGeoPackage = @"C:\Data\Geopackage\flooding.gpkg";
//Create lists to hold the URIs of the layers and tables in the geopackage
var layerUris = new List<Uri>();
var tableUris = new List<Uri>();
//Create an item from the geopackage
var item = ItemFactory.Instance.Create(pathToGeoPackage, ItemFactory.ItemType.PathItem);
var children = item.GetItems();
//Collect the table and spatial data in the geopackage
foreach (var child in children)
{
  var childPath = child.Path;

  if (child.TypeID == "sqlite_table")
    tableUris.Add(new Uri(childPath));
  else
    layerUris.Add(new Uri(childPath));
}
//Add the spatial data in the geopackage using the BulkLayerCreationParams
if (layerUris.Count > 0)
{
  BulkLayerCreationParams bulklcp = new BulkLayerCreationParams(layerUris);
  LayerFactory.Instance.CreateLayers(bulklcp, MapView.Active.Map);
}
// add the tables separately
foreach (var tableUri in tableUris)
{
  StandaloneTableFactory.Instance.CreateStandaloneTable(tableUri, MapView.Active.Map);
}
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3.4 or higher.
See Also