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

Inheritance Hierarchy
OSIsoft.AFAFCollection
OSIsoft.AFAFCollectionAFAttributeTemplate
OSIsoft.AFAFNamedCollectionAFAttributeTemplate
OSIsoft.AF.AssetAFAttributeTemplates
Namespace: OSIsoft.AF.Asset
Assembly: OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.1.1.1182
Syntax
public sealed class AFAttributeTemplates : AFNamedCollection<AFAttributeTemplate>, IAFNamedCollection<IAFAttribute>, ICollection<IAFAttribute>, IEnumerable<IAFAttribute>, IEnumerable, IList<IAFAttribute>
Public NotInheritable Class AFAttributeTemplates Inherits AFNamedCollection(Of AFAttributeTemplate) Implements IAFNamedCollection(Of IAFAttribute), ICollection(Of IAFAttribute), IEnumerable(Of IAFAttribute), IEnumerable, IList(Of IAFAttribute) Dim instance As AFAttributeTemplates
public ref class AFAttributeTemplates sealed : public AFNamedCollection<AFAttributeTemplate^>, IAFNamedCollection<IAFAttribute^>, ICollection<IAFAttribute^>, IEnumerable<IAFAttribute^>, IEnumerable, IList<IAFAttribute^>
[<SealedAttribute>] type AFAttributeTemplates = class inherit AFNamedCollection<AFAttributeTemplate> interface IAFNamedCollection<IAFAttribute> interface ICollection<IAFAttribute> interface IEnumerable<IAFAttribute> interface IEnumerable interface IList<IAFAttribute> end
The AFAttributeTemplates 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.
| |
| ElementTemplate |
This property returns the AFElementTemplate object which owns this collection.
| |
| 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.) | |
| ItemString |
Returns the specified object from the collection by name.
(Inherited from AFNamedCollectionT.) | |
| ItemIdentity |
This read-only property specifies the identity of the objects within the collection.
(Inherited from AFCollection.) | |
| Parent |
This read-only property returns the AFAttributeTemplate that owns this
collection of attribute templates.
| |
| 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(String) |
The Add method creates a new object and adds it to the collection.
| |
| 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.) | |
| Contains(String) |
This method determines whether the collection contains a specific item referenced by name.
(Inherited from AFNamedCollectionT.) | |
| 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.) | |
| 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.) | |
| Remove(String) |
The Remove method removes the item from the collection by name.
(Inherited from AFNamedCollectionT.) | |
| 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.) |
Extension Methods
| Name | Description | |
|---|---|---|
| ChunkedByIAFAttribute |
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
Each element template has its own collection of attribute templates, which is independent of the attribute templates owned by any other element template. Thus, two element templates can contain an attribute template with the same name. An attribute template can contain other attribute templates which allows for hierarchical attributes.
The collection of attribute templates is used when creating the attributes of an AFBaseElement. Attribute templates can be added or removed after elements have been created using the template, but it is more efficient to define them before creating elements.
Examples
// This example demonstrates how to create an attribute templates for an // element template and display information about it. // Get the Database PISystems myPISystems = new PISystems(); PISystem myPISystem = myPISystems.DefaultPISystem; AFDatabase myDB = myPISystem.Databases.DefaultDatabase; // Create an Element Template AFElementTemplate myElemTempl = myDB.ElementTemplates.Add("MyElementTemplate"); // Create an Attribute Template AFAttributeTemplate myAttrTempl = myElemTempl.AttributeTemplates.Add("MyAttributeTemplate"); myAttrTempl.Description = "Attribute Template for MyElementTemplate"; myAttrTempl.DefaultUOM = myPISystem.UOMDatabase.UOMs["kelvin"]; myAttrTempl.DataReferencePlugIn = AFDataReference.GetPIPointDataReference(myPISystem); myAttrTempl.ConfigString = @"\\%Server%\sinusoid"; // Get Value object myValue = myAttrTempl.GetValue(myPISystem.UOMDatabase.UOMs["degree Celsius"]); Console.WriteLine("Attribute Template Value = {0}", myValue); // Display Attribute Template Information foreach (AFAttributeTemplate CurAttrTempl in myElemTempl.AttributeTemplates) { Console.WriteLine("Name of Attribute Template = {0}", CurAttrTempl.Name); Console.WriteLine("Description = {0}", CurAttrTempl.Description); Console.WriteLine("Default UOM = {0}", CurAttrTempl.DefaultUOM.Name); Console.WriteLine("DataReference = {0}", CurAttrTempl.DataReference.Name); Console.WriteLine("ConfigString = {0}", CurAttrTempl.ConfigString); }
' This example demonstrates how to create an attribute templates for an ' element template and display information about it. ' Get the Database Dim myPISystems As New PISystems Dim myPISystem As PISystem = myPISystems.DefaultPISystem Dim myDB As AFDatabase = myPISystem.Databases.DefaultDatabase ' Create an Element Template Dim myElemTempl As AFElementTemplate = myDB.ElementTemplates.Add("MyElementTemplate") ' Create an Attribute Template Dim CurAttrTempl As AFAttributeTemplate = myElemTempl.AttributeTemplates.Add("MyAttributeTemplate") CurAttrTempl.Description = "Attribute Template for MyElementTemplate" CurAttrTempl.DefaultUOM = myPISystem.UOMDatabase.UOMs("kelvin") CurAttrTempl.DataReferencePlugIn = AFDataReference.GetPIPointDataReference(myPISystem) CurAttrTempl.ConfigString = "\\%Server%\sinusoid" ' Get Value Dim myValue As Object = CurAttrTempl.GetValue(myPISystem.UOMDatabase.UOMs("degree Celsius")) Console.WriteLine("Attribute Template Value = {0}", myValue) ' Display Attribute Template Information For Each CurAttrTempl In myElemTempl.AttributeTemplates Console.WriteLine("Name of Attribute Template = {0}", CurAttrTempl.Name) Console.WriteLine("Description = {0}", CurAttrTempl.Description) Console.WriteLine("Default UOM = {0}", CurAttrTempl.DefaultUOM.Name) Console.WriteLine("DataReference = {0}", CurAttrTempl.DataReference.Name) Console.WriteLine("ConfigString = {0}", CurAttrTempl.ConfigString) Next CurAttrTempl
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.