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

AF SDK Reference

AFValues Class

  • Last UpdatedNov 18, 2025
  • 15 minute read
AFValues Class
This collection holds the values returned from a call to one of the AFAttribute.GetValues Overload, AFAttributes.GetValue Overload, or AFAttributeList.GetValue Overload methods.

Inheritance Hierarchy

SystemObject
  System.Collections.GenericListAFValue
    OSIsoft.AF.AssetAFValues

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

Syntax

[SerializableAttribute]
public sealed class AFValues : List<AFValue>
<SerializableAttribute>
Public NotInheritable Class AFValues
	Inherits List(Of AFValue)

Dim instance As AFValues
[SerializableAttribute]
public ref class AFValues sealed : public List<AFValue^>
[<SealedAttribute>]
[<SerializableAttribute>]
type AFValues =  
    class
        inherit List<AFValue>
    end

The AFValues type exposes the following members.

Constructors

  NameDescription
Public method
AFValues
This is the default constructor which creates a new AFValues list that is empty and has the default initial capacity.
Public method
AFValues(Int32)
This constructor will create a new AFValues list that is empty and has the specified initial capacity.
Public method
AFValues(Object, DateTime, AFValueStatus, UOM)
This constructor will create a new AFValues list from the specified values, timestamps, and statuses all with the same UOM.
Public method
AFValues(Object, DateTime, AFValueStatus, UOM)
This constructor will create a new AFValues list from the specified values, timestamps, statuses, and with each UOM specified.

Properties

  NameDescription
Public property
Attribute
This property returns the AFAttribute associated with the list of values.
Public property
Capacity
Gets or sets the total number of elements the internal data structure can hold without resizing.
(Inherited from ListAFValue.)
Public property
Count
Gets the number of elements contained in the ListT.
(Inherited from ListAFValue.)
Public property
Item
Gets or sets the element at the specified index.
(Inherited from ListAFValue.)
Public property
PIPoint
This property returns the PIPoint associated with the list of values.

Methods

  NameDescription
Public method
Add
Adds an object to the end of the ListT.
(Inherited from ListAFValue.)
Public method
AddRange
Adds the elements of the specified collection to the end of the ListT.
(Inherited from ListAFValue.)
Public method
AsReadOnly
Returns a read-only ReadOnlyCollectionT wrapper for the current collection.
(Inherited from ListAFValue.)
Public method
BinarySearch(T)
Searches the entire sorted ListT for an element using the default comparer and returns the zero-based index of the element.
(Inherited from ListAFValue.)
Public method
BinarySearch(T, IComparerT)
Searches the entire sorted ListT for an element using the specified comparer and returns the zero-based index of the element.
(Inherited from ListAFValue.)
Public method
BinarySearch(Int32, Int32, T, IComparerT)
Searches a range of elements in the sorted ListT for an element using the specified comparer and returns the zero-based index of the element.
(Inherited from ListAFValue.)
Public method
Clear
Removes all elements from the ListT.
(Inherited from ListAFValue.)
Public method
Contains
Determines whether an element is in the ListT.
(Inherited from ListAFValue.)
Public method
Convert(UOM)
Returns a new AFValues list with each AFValue in the specified UOM.
Public method
Convert(UOMGroup)
Returns a new AFValues list with each AFValue in the UOM specified by the UOMGroup.
Public method
ConvertAllTOutput
Converts the elements in the current ListT to another type, and returns a list containing the converted elements.
(Inherited from ListAFValue.)
Public method
CopyTo(T)
Copies the entire ListT to a compatible one-dimensional array, starting at the beginning of the target array.
(Inherited from ListAFValue.)
Public method
CopyTo(T, Int32)
Copies the entire ListT to a compatible one-dimensional array, starting at the specified index of the target array.
(Inherited from ListAFValue.)
Public method
CopyTo(Int32, T, Int32, Int32)
Copies a range of elements from the ListT to a compatible one-dimensional array, starting at the specified index of the target array.
(Inherited from ListAFValue.)
Public method
Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public method
Exists
Determines whether the ListT contains elements that match the conditions defined by the specified predicate.
(Inherited from ListAFValue.)
Public method
Find
Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire ListT.
(Inherited from ListAFValue.)
Public method
FindAll
Retrieves all the elements that match the conditions defined by the specified predicate.
(Inherited from ListAFValue.)
Public method
FindIndex(PredicateT)
Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire ListT.
(Inherited from ListAFValue.)
Public method
FindIndex(Int32, PredicateT)
Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the ListT that extends from the specified index to the last element.
(Inherited from ListAFValue.)
Public method
FindIndex(Int32, Int32, PredicateT)
Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the ListT that starts at the specified index and contains the specified number of elements.
(Inherited from ListAFValue.)
Public method
FindLast
Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire ListT.
(Inherited from ListAFValue.)
Public method
FindLastIndex(PredicateT)
Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire ListT.
(Inherited from ListAFValue.)
Public method
FindLastIndex(Int32, PredicateT)
Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the ListT that extends from the first element to the specified index.
(Inherited from ListAFValue.)
Public method
FindLastIndex(Int32, Int32, PredicateT)
Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the ListT that contains the specified number of elements and ends at the specified index.
(Inherited from ListAFValue.)
Public method
ForEach
Performs the specified action on each element of the ListT.
(Inherited from ListAFValue.)
Public method
GetEnumerator
Returns an enumerator that iterates through the ListT.
(Inherited from ListAFValue.)
Public method
GetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public method
GetRange
Creates a shallow copy of a range of elements in the source ListT.
(Inherited from ListAFValue.)
Public method
GetType
Gets the Type of the current instance.
(Inherited from Object.)
Public method
GetValueArrays
This method returns the values of this collection as three (3) synchronized arrays of value, timestamp, and flags.
Public method
IndexOf(T)
Searches for the specified object and returns the zero-based index of the first occurrence within the entire ListT.
(Inherited from ListAFValue.)
Public method
IndexOf(T, Int32)
Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the ListT that extends from the specified index to the last element.
(Inherited from ListAFValue.)
Public method
IndexOf(T, Int32, Int32)
Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the ListT that starts at the specified index and contains the specified number of elements.
(Inherited from ListAFValue.)
Public method
Insert
Inserts an element into the ListT at the specified index.
(Inherited from ListAFValue.)
Public method
InsertRange
Inserts the elements of a collection into the ListT at the specified index.
(Inherited from ListAFValue.)
Public method
InterpolatedValuesAtTimes
This method returns calculated interpolated values at the specified times.
Public method
LastIndexOf(T)
Searches for the specified object and returns the zero-based index of the last occurrence within the entire ListT.
(Inherited from ListAFValue.)
Public method
LastIndexOf(T, Int32)
Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the ListT that extends from the first element to the specified index.
(Inherited from ListAFValue.)
Public method
LastIndexOf(T, Int32, Int32)
Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the ListT that contains the specified number of elements and ends at the specified index.
(Inherited from ListAFValue.)
Public method
PlotValues
Reduces the number of values over the specified time range to minimum necessary for producing an accurate trend over the number of intervals (typically represents pixels).
Public method
Remove
Removes the first occurrence of a specific object from the ListT.
(Inherited from ListAFValue.)
Public method
RemoveAll
Removes all the elements that match the conditions defined by the specified predicate.
(Inherited from ListAFValue.)
Public method
RemoveAt
Removes the element at the specified index of the ListT.
(Inherited from ListAFValue.)
Public method
RemoveRange
Removes a range of elements from the ListT.
(Inherited from ListAFValue.)
Public method
Reverse
Reverses the order of the elements in the entire ListT.
(Inherited from ListAFValue.)
Public method
Reverse(Int32, Int32)
Reverses the order of the elements in the specified range.
(Inherited from ListAFValue.)
Public method
Sort
Sorts the elements in the entire ListT using the default comparer.
(Inherited from ListAFValue.)
Public method
Sort(IComparerT)
Sorts the elements in the entire ListT using the specified comparer.
(Inherited from ListAFValue.)
Public method
Sort(ComparisonT)
Sorts the elements in the entire ListT using the specified ComparisonT.
(Inherited from ListAFValue.)
Public method
Sort(Int32, Int32, IComparerT)
Sorts the elements in a range of elements in ListT using the specified comparer.
(Inherited from ListAFValue.)
Public method
Summaries
Returns several summaries for this set of values over a time range for each interval within the range.
Public method
Summary
Returns several summaries for this set of values over a single time range.
Public method
ToArray
Copies the elements of the ListT to a new array.
(Inherited from ListAFValue.)
Public method
ToPIValues Obsolete.
This method returns the values of this collection as a new collection of PISDK.PIValue objects.
Public method
ToString
Returns a string that represents the current object.
(Inherited from Object.)
Public method
TrimExcess
Sets the capacity to the actual number of elements in the ListT, if that number is less than a threshold value.
(Inherited from ListAFValue.)
Public method
TrueForAll
Determines whether every element in the ListT matches the conditions defined by the specified predicate.
(Inherited from ListAFValue.)

Remarks

Examples

// This example shows how to create a dynamic attribute and obtain
// the values of an attribute over a specified time range.

// Get the Database
PISystems myPISystems = new PISystems();
PISystem myPISystem = myPISystems.DefaultPISystem;
AFDatabase myDB = myPISystem.Databases.DefaultDatabase;

// Create the Attribute
AFAttribute myAttribute = new AFAttribute(myDB);
myAttribute.Name = "Sinusoid";
myAttribute.Type = typeof(float);
myAttribute.DefaultUOM = myPISystem.UOMDatabase.UOMs["m"];
myAttribute.DataReferencePlugIn = AFDataReference.GetPIPointDataReference(myPISystem);
myAttribute.ConfigString = @"\\%Server%\Sinusoid";

// Set the Time Range
AFTimeRange myTimeRange = new AFTimeRange();
myTimeRange.StartTime = new AFTime(DateTime.UtcNow.AddHours(-1));
myTimeRange.EndTime = AFTime.Now;

// Display each Value of the Attribute during the Time Range
AFValues myValues = myAttribute.GetValues(myTimeRange, 0, null);
Console.WriteLine("Number of values = {0}", myValues.Count);
foreach (AFValue myValue in myValues)
{
    Console.WriteLine("Annotated = {0}", myValue.Annotated);
    Console.WriteLine("IsGood = {0}", myValue.IsGood);
    Console.WriteLine("Questionable = {0}", myValue.Questionable);
    Console.WriteLine("Substituted = {0}", myValue.Substituted);
    Console.WriteLine("TimeStamp = {0}", myValue.Timestamp.LocalTime);
    Console.WriteLine("UOM = {0}", myValue.UOM);
    Console.WriteLine("Value = {0}", myValue.Value);
}
' This example shows how to create a dynamic attribute and obtain
' the values of an attribute over a specified time range.

' Get the Database
Dim myPISystems As New PISystems
Dim myPISystem As PISystem = myPISystems.DefaultPISystem
Dim myDB As AFDatabase = myPISystem.Databases.DefaultDatabase

' Create the Attribute
Dim myAttribute As New AFAttribute(myDB)
myAttribute.Name = "Sinusoid"
myAttribute.Type = GetType(Double)
myAttribute.DefaultUOM = myPISystem.UOMDatabase.UOMs("m")
myAttribute.DataReferencePlugIn = AFDataReference.GetPIPointDataReference(myPISystem)
myAttribute.ConfigString = "\\%Server%\Sinusoid"

' Set the Time Range
Dim myTimeRange As New AFTimeRange()
myTimeRange.StartTime = New AFTime(DateTime.UtcNow.AddHours(-1))
myTimeRange.EndTime = AFTime.Now

' Display each Value of the Attribute during the Time Range
Dim myValues As AFValues = myAttribute.GetValues(myTimeRange, 0, Nothing)
Console.WriteLine("Number of values = {0}", myValues.Count)
Dim myValue As AFValue
For Each myValue In myValues
    Console.WriteLine("Annotated = {0}", myValue.Annotated)
    Console.WriteLine("IsGood = {0}", myValue.IsGood)
    Console.WriteLine("Questionable = {0}", myValue.Questionable)
    Console.WriteLine("Substituted = {0}", myValue.Substituted)
    Console.WriteLine("TimeStamp = {0}", myValue.Timestamp.LocalTime)
    Console.WriteLine("UOM = {0}", myValue.UOM)
    Console.WriteLine("Value = {0}", myValue.Value)
Next myValue

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