AFConnections Class
- Last UpdatedNov 18, 2025
- 8 minute read
- PI System
- AF SDK 2024 R2
- Developer

Inheritance Hierarchy
SystemObject
OSIsoft.AFAFCollection
OSIsoft.AFAFCollectionAFConnection
OSIsoft.AF.ModelingAFConnections
OSIsoft.AFAFCollection
OSIsoft.AFAFCollectionAFConnection
OSIsoft.AF.ModelingAFConnections
Namespace: OSIsoft.AF.Modeling
Assembly: OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.1.1.1182
Syntax
public sealed class AFConnections : AFCollection<AFConnection>
Public NotInheritable Class AFConnections Inherits AFCollection(Of AFConnection) Dim instance As AFConnections
public ref class AFConnections sealed : public AFCollection<AFConnection^>
[<SealedAttribute>] type AFConnections = class inherit AFCollection<AFConnection> end
The AFConnections type exposes the following members.
Properties
| Name | Description | |
|---|---|---|
| Count |
Gets the number of items actually contained in the collection.
(Inherited from AFCollectionT.) | |
| Database |
This read-only property returns the AFDatabase where this object is defined.
| |
| Identity |
This read-only property contains identity of the object.
(Inherited from AFCollection.) | |
| IsDeleted |
This read-only property indicates whether the owner of the collection has been deleted.
(Inherited from AFCollection.) | |
| ItemGuid | Returns the item in the collection associated with the passed in ID. (Inherited from AFCollectionT.) | |
| ItemInt32 | Returns the item located at the passed in index. (Inherited from AFCollectionT.) | |
| ItemIdentity |
This read-only property specifies the identity of the objects within the collection.
(Inherited from AFCollection.) | |
| Model |
This property returns the AFModel object which owns this collection.
| |
| PISystem |
This read-only property allows access to the PISystem
associated with this collection.
(Inherited from AFCollection.) |
Methods
| Name | Description | |
|---|---|---|
| Add(T) |
Adds an object to the end of the collection.
(Inherited from AFCollectionT.) | |
| Add(AFPort, AFPort) |
The Add method creates a new connection between ports of two elements in
the model.
| |
| Add(AFElement, AFPort, AFElement, AFPort) | Obsolete.
The Add method creates a new connection between ports of two elements in
the model.
| |
| Clear |
Removes all items from the collection.
(Inherited from AFCollectionT.) | |
| Contains(Guid) |
This method determines whether the collection contains a specific item referenced by id.
(Inherited from AFCollectionT.) | |
| Contains(T) |
This method determines whether the collection contains a specific item.
(Inherited from AFCollectionT.) | |
| CopyTo |
Copies the entire collection to a compatible one-dimensional Array,
starting at the specified index of the target array.
(Inherited from AFCollectionT.) | |
| Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
| GetEnumerator |
Returns an enumerator that iterates through the collection.
(Inherited from AFCollectionT.) | |
| GetHashCode |
Gets the hash code for this instance of the object which is suitable for use in hashing
algorithms and data structures like a hash table.
(Inherited from AFCollection.) | |
| GetType | Gets the Type of the current instance. (Inherited from Object.) | |
| IndexOf |
Searches for the specified object and returns the zero-based index of the first
occurrence within the entire collection.
(Inherited from AFCollectionT.) | |
| IsValidConnection(Boolean, Boolean, AFPort, AFPort, String) |
This method checks if a valid connection can be created between the
specified source and destination ports of an AFBaseElement.
| |
| IsValidConnection(Boolean, Boolean, AFElement, AFPort, AFElement, AFPort, String) | Obsolete.
This method checks if a valid connection can be created between the
specified source and destination ports.
| |
| IsValidConnection(Boolean, Boolean, AFElementTemplate, AFPort, AFElementTemplate, AFPort, String) |
This method checks if a valid connection can be created between the
specified source and destination ports of an AFElementTemplate or AFBaseElement.
| |
| Remove(Guid) |
Removes the item with the specified id from the collection.
(Inherited from AFCollectionT.) | |
| Remove(T) |
Removes the first occurrence of a specific object from the collection.
(Inherited from AFCollectionT.) | |
| RemoveAt |
Removes the item at the specified index of the collection.
(Inherited from AFCollectionT.) | |
| Sort |
Sorts the items in the entire collection using the default comparer.
(Inherited from AFCollectionT.) | |
| Sort(IComparerT) |
Sorts the items in the entire collection using the specified comparer.
(Inherited from AFCollectionT.) | |
| Sort(Int32, Int32, IComparerT) |
Sorts the items in a range of items in the collection using the specified comparer.
(Inherited from AFCollectionT.) | |
| ToString |
Returns a String that represents the current object.
(Inherited from AFCollection.) |
Remarks
Several connections can be made to the same port of an element.
A connection is created by calling one of the
Add Overload methods
and specifying the elements and ports to be connected.
Examples
// This example demonstrates how to connect and disconnect elements. // Note: This example assumes that there is a database called "Chocolate Milk Tutorial" // containing elements named "MilkTank1" and "MilkTank2" each with input/output ports, // as well as an ElementTemplate named "Flow" // Get the Database PISystems myPISystems = new PISystems(); AFDatabase myDB = myPISystems.DefaultPISystem.Databases["Chocolate Milk Tutorial"]; // Create a Model AFElementTemplate modelTempl = myDB.ElementTemplates.Add("ModelTemplate"); modelTempl.InstanceType = typeof(AFModel); AFModel myModel = myDB.Elements.Add("MyModel", modelTempl) as AFModel; myModel.Description = "This Model represents a manufacturing facility"; // Get the Elements AFElement srcElement = myDB.Elements["MilkTank1"]; AFElement destElement = myDB.Elements["MilkTank2"]; AFElement flowElement = myDB.Elements.Add("Flow", myDB.ElementTemplates["Flow"]); myDB.ApplyChanges(); // Add Elements to Model myModel.Elements.Add(srcElement); myModel.Elements.Add(destElement); myModel.Elements.Add(flowElement); // Connect the Elements AFConnection conn1 = myModel.Connections.Add(srcElement.DefaultOutputPort, flowElement.DefaultInputPort); AFConnection conn2 = myModel.Connections.Add(flowElement.DefaultOutputPort, destElement.DefaultInputPort); // Display Information about each Connection Console.WriteLine("Connection Count = {0}", myModel.Connections.Count); foreach (AFConnection CurConn in myModel.Connections) { Console.WriteLine("Name of Model = {0}", CurConn.Model.Name); Console.WriteLine("Source = {0}", CurConn.Source); Console.WriteLine("Source Port = {0}", CurConn.SourcePort); Console.WriteLine("Destination = {0}", CurConn.Destination); Console.WriteLine("Destination Port = {0}", CurConn.DestinationPort); }
' This example demonstrates how to connect and disconnect elements. ' Note: This example assumes that there Is a database called "Chocolate Milk Tutorial" ' containing elements named "MilkTank1" And "MilkTank2" each with input/output ports, ' as well as an ElementTemplate named "Flow" ' Get the Database Dim myPISystems As New PISystems Dim myDB As AFDatabase = myPISystems.DefaultPISystem.Databases("Chocolate Milk Tutorial") ' Create a Model Dim modelTempl As AFElementTemplate = myDB.ElementTemplates.Add("ModelTemplate") modelTempl.InstanceType = GetType(AFModel) Dim myModel As AFModel = CType(myDB.Elements.Add("MyModel", modelTempl), AFModel) myModel.Description = "This Model represents a manufacturing facility" ' Get the Elements Dim srcElement As AFElement = myDB.Elements("MilkTank1") Dim destElement As AFElement = myDB.Elements("MilkTank2") Dim flowElement As AFElement = myDB.Elements.Add("Flow", myDB.ElementTemplates("Flow")) myDB.ApplyChanges() ' Add Elements to Model myModel.Elements.Add(srcElement) myModel.Elements.Add(destElement) myModel.Elements.Add(flowElement) ' Connect the Elements Dim conn1 As AFConnection = myModel.Connections.Add(srcElement.DefaultOutputPort, flowElement.DefaultInputPort) Dim conn2 As AFConnection = myModel.Connections.Add(flowElement.DefaultOutputPort, destElement.DefaultInputPort) 'Display Information about each Connection Console.WriteLine("Connection Count = {0}", myModel.Connections.Count) Dim CurConn As AFConnection For Each CurConn In myModel.Connections Console.WriteLine("Name of Model = {0}", CurConn.Model.Name) Console.WriteLine("Source = {0}", CurConn.Source) Console.WriteLine("Source Port = {0}", CurConn.SourcePort) Console.WriteLine("Destination = {0}", CurConn.Destination) Console.WriteLine("Destination Port = {0}", CurConn.DestinationPort) Next CurConn
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.