Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AF SDK Reference

PIPointList Class

  • Last UpdatedNov 18, 2025
  • 11 minute read
PIPointList Class
The PIPointList object represents a list of PIPoint objects. The PIPoints can be on different PIServer. PIPointList supports duplicate PIPoint in the list.

Inheritance Hierarchy

SystemObject
  OSIsoft.AF.PIPIPointList

Namespace:  OSIsoft.AF.PI
Assembly:  OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.1.1.1182

Syntax

public sealed class PIPointList : IList<PIPoint>, 
	ICollection<PIPoint>, IEnumerable<PIPoint>, IEnumerable, 
	IList, ICollection
Public NotInheritable Class PIPointList
	Implements IList(Of PIPoint), ICollection(Of PIPoint), 
	IEnumerable(Of PIPoint), IEnumerable, IList, ICollection

Dim instance As PIPointList
public ref class PIPointList sealed : IList<PIPoint^>, 
	ICollection<PIPoint^>, IEnumerable<PIPoint^>, IEnumerable, 
	IList, ICollection
[<SealedAttribute>]
type PIPointList =  
    class
        interface IList<PIPoint>
        interface ICollection<PIPoint>
        interface IEnumerable<PIPoint>
        interface IEnumerable
        interface IList
        interface ICollection
    end

The PIPointList type exposes the following members.

Constructors

Properties

  NameDescription
Public property
Count
Gets the number of items actually contained in the collection.
Public property
Item
Gets or Sets the PIPoint located at the passed in index.

Methods

  NameDescription
Public method
Add
This method adds the passed PIPoint to the list and returns the index where the point was added.
Public method
AddRange
This method adds a collection of PIPoint objects to the PIPointList
Public method
Clear
Removes all of the PIPoint instances associated with this PIPointList
Public method
Contains
This method determines whether the collection contains a specific item.
Public method
CopyTo
Copies the entire collection to a compatible one-dimensional Array, starting at the specified index of the target array.
Public method
CurrentValue
Returns an AFListResultsTKey, TResult object containing a list of AFValue objects representing the current value for the PIPoint objects in the list. The order of the AFValue objects in the results list is the same order as the corresponding PIPoint in the PIPointList. Point level error and PIServer level errors can be accessed in the AFListResultsTKey, TResult error collections.
Public method
EndOfStream
Returns an AFListResultsTKey, TResult object containing a list of AFValue objects representing the end of stream value for the PIPoint objects in the list. The order of the AFValue objects in the results list is the same order as the corresponding PIPoint in the PIPointList. Point level error and PIServer level errors can be accessed in the AFListResultsTKey, TResult error collections.
Public method
EndOfStreamAsync
Returns an AFListResultsTKey, TResult containing a list of AFValue objects corresponding to the end of stream value for the PIPoint objects in the list. The order of the AFValue objects in the return list is the same order as the corresponding PIPoint in the PIPointList.
Public method
Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodCode example
FilteredSummaries(IListAFTimeIntervalDefinition, Boolean, String, AFSummaryTypes, AFCalculationBasis, AFSampleType, AFTimeSpan, AFTimestampCalculation, PIPagingConfiguration)
This method, when supplied a filter expression that evaluates to true or false, evaluates it over the time range on the passed in intervalDefinitions. For the time ranges where the expression evaluates to true, the method calculates the requested summaries on the PI point.
Public methodCode example
FilteredSummaries(AFTimeRange, AFTimeSpan, String, AFSummaryTypes, AFCalculationBasis, AFSampleType, AFTimeSpan, AFTimestampCalculation, PIPagingConfiguration)
This method, when supplied a filter expression that evaluates to true or false, evaluates it over the passed time range. For the time ranges where the expression evaluates to true, the method calculates the requested summaries on the source attribute.
Public method
GetEnumerator
Returns an enumerator that iterates through the collection.
Public method
GetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public method
GetServers
Get a list of the PIServer objects associated with this PIPointList
Public method
GetType
Gets the Type of the current instance.
(Inherited from Object.)
Public method
IndexOf
Searches for the specified object and returns the zero-based index of the first occurrence within the entire collection.
Public method
Insert
This method inserts the passed in PIPoint object into the PIPointList at the given zero-based index.
Public method
InterpolatedValue
Returns an AFListResultsTKey, TResult object containing list of AFValue objects representing the interpolated values for the PIPoint objects in the list for the requested time. The order of the AFValue objects in the results list is the same order as the corresponding PIPoint in the PIPointList. Point level error and PIServer level error can be accessed in the AFListResultsTKey, TResult
Public method
InterpolatedValueAsync
Returns an AFListResultsTKey, TResult containing a list of AFValue objects corresponding to the interpolated value for the PIPoint objects in the list for the requested time. The order of the AFValue objects in the return list is the same order as the corresponding PIPoint in the PIPointList.
Public methodCode example
InterpolatedValues
Retrieves interpolated values over the specified time range at the specified sampling interval.
Public methodCode example
InterpolatedValuesAtTimes
Retrieves interpolated values at the specified times.
Public methodCode example
InterpolatedValuesByCount
This method returns the specified number of interpolated values evenly spaced throughout the specified timeRange.
Public method
LoadAttributes
Load PIPoint attributes into the cache for each PIPoint in the list.
Public method
LoadAttributesAsync
Load PIPoint attributes into the cache for each PIPoint in the list.
Public methodCode example
PlotValues
Retrieves values over the specified time range suitable for plotting over the number of intervals (typically represents pixels).
Public method
RecordedValue
Returns an AFListResultsTKey, TResult containing list of AFValue objects corresponding to the archive value for the PIPoint objects in the list for the requested time and AFRetrievalMode. The order of the AFValue objects in the return list is the same order as the corresponding PIPoint in the PIPointList. Point level error and PIServer level errors can be accessed in the AFListResultsTKey, TResult
Public method
RecordedValueAsync
Returns an AFListResultsTKey, TResult containing a list of AFValue objects corresponding to the archive value for the PIPoint objects in the list for the requested time and AFRetrievalMode. The order of the AFValue objects in the return list is the same order as the corresponding PIPoint in the PIPointList.
Public methodCode example
RecordedValues
Returns a list of compressed values for the requested time range from PI.
Public method
RecordedValuesAtTimes
Retrieves recorded values at the specified times.
Public methodCode example
RecordedValuesByCount
This method returns a specified number of compressed values beginning at the requested start time in the direction specified.
Public method
Remove
This method removes all occurrences of the passed PIPoint from the list. The method returns if the passed PIPoint is not found in the list.
Public method
RemoveAt
This routine removes the PIPoint at the passed index location. It returns true if the same PIPoint is still in the PIPointList at another location. The index is zero-based.
Public method
SaveAttributes
Set the PIPoint attribute values for each PIPoint in the list and save the attribute values to the server.
Public method
Snapshot Obsolete.
Returns an AFListResultsTKey, TResult object containing a list of AFValue objects representing the snapshot for the PIPoint objects in the list. The order of the AFValue objects in the results list is the same order as the corresponding PIPoint in the PIPointList. Point level error and PIServer level errors can be accessed in the AFListResultsTKey, TResult error collections.
Public methodCode example
Summaries(IListAFTimeIntervalDefinition, Boolean, AFSummaryTypes, AFCalculationBasis, AFTimestampCalculation, PIPagingConfiguration)
Returns several summaries for each specified interval and range for each PIPoint in the list.
Public methodCode example
Summaries(AFTimeRange, AFTimeSpan, AFSummaryTypes, AFCalculationBasis, AFTimestampCalculation, PIPagingConfiguration)
Returns several summaries over a time range for each interval within the range for each PIPoint in the list.
Public methodCode example
Summary
Returns several summaries over a single time range for each PIPoint in the list.
Public method
ToString
Returns a string that represents the current object.
(Inherited from Object.)
Public method
UnloadAllAttributes
Unload all PIPoint attributes from the cache except for the specified names for each PIPoint in the list.
Public method
UnloadAttributes
Unload PIPoint attributes from the cache for each PIPoint in the list.

Extension Methods

  NameDescription
Public Extension MethodCode example
ChunkedByPIPoint
This extension method breaks up search results into chunks to make it easier to page through and process IEnumerableT collections in chunks.
(Defined by AFSDKExtension.)

Remarks

The PIPointList is the primary way to make bulk data access calls to the PIServer.

Note Notes to Callers
This method, property, or class is not available in the legacy .NET 3.5 version of the SDK.

Examples

// Get the PIPoints from the PIServer on the local computer
PISystems myPISystems = new PISystems();
PISystem myPISystem = myPISystems.DefaultPISystem;
PIServer myPIServer = PIServer.FindPIServer(myPISystem, piServerName);

// An example of a valid point filter: "Sin*"
PIPointList myPIPointList = new PIPointList(PIPoint.FindPIPoints(myPIServer, myPointFilter));

// Display information about the PIPoints
foreach (PIPoint point in myPIPointList)
{
    Console.WriteLine("Name of the PIPoint = {0}", point.Name);
    Console.WriteLine("ID of the PIPoint = {0}", point.ID);
    Console.WriteLine("Type of the PIPoint = {0}", point.PointType);
    Console.WriteLine("PIPoint Current Value = '{0}'", point.CurrentValue());
    Console.WriteLine();
}

// Get and display current value for all PIPoints
AFListResults<PIPoint, AFValue> results = myPIPointList.CurrentValue();
IList<AFValue> values = results.Results;
foreach (AFValue value in values)
{
    Console.WriteLine("Current Value = '{0}'", value);
}
' Get the PIPoints from the PIServer on the local computer
Dim myPISystems As New PISystems
Dim myPISystem As PISystem = myPISystems.DefaultPISystem
Dim myPIServer As PIServer = PIServer.FindPIServer(myPISystem, piServerName)

' An example of a valid point filter: "Sin*"
Dim myPIPointList As New PIPointList(PIPoint.FindPIPoints(myPIServer, myPointFilter))

' Display information about the PIPoints
Dim point As PIPoint
For Each point In myPIPointList
    Console.WriteLine("Name of the PIPoint = {0}", point.Name)
    Console.WriteLine("ID of the PIPoint = {0}", point.ID)
    Console.WriteLine("Type of the PIPoint = {0}", point.PointType)
    Console.WriteLine("PIPoint Current Value = '{0}'", point.CurrentValue())
    Console.WriteLine()
Next point

' Get and display current value for all PIPoints
Dim results As AFListResults(Of PIPoint, AFValue) = myPIPointList.CurrentValue()
Dim values As IList(Of AFValue) = results.Results
Dim value As AFValue
For Each value In values
    Console.WriteLine("Current Value = '{0}'", value)
Next value

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.

Version Information

AFSDK


See Also

TitleResults for “How to create a CRG?”Also Available in