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

Inheritance Hierarchy
Namespace: OSIsoft.AF
Assembly: OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.1.1.1182
Syntax
[SerializableAttribute] public sealed class AFPlugIn : AFObject, IComparable<AFPlugIn>
<SerializableAttribute> Public NotInheritable Class AFPlugIn Inherits AFObject Implements IComparable(Of AFPlugIn) Dim instance As AFPlugIn
[SerializableAttribute] public ref class AFPlugIn sealed : public AFObject, IComparable<AFPlugIn^>
[<SealedAttribute>] [<SerializableAttribute>] type AFPlugIn = class inherit AFObject interface IComparable<AFPlugIn> end
The AFPlugIn type exposes the following members.
Properties
| Name | Description | |
|---|---|---|
| AssemblyFileName |
Read-only property that provides the original file name of the assembly containing the plugin.
| |
| AssemblyID |
Read-only property that provides a unique identifier for the assembly containing the plugin.
| |
| AssemblyLoadProperties |
Read-only property that specifies the properties for loading the assembly containing the plugin.
| |
| AssemblyTime |
Read-only property that provides the timestamp of the assembly containing the plugin.
| |
| CompatibilityVersion |
The compatibility version number of the plugin.
| |
| Description |
Read-only property that provides more detailed description of the object.
| |
| ID |
Read-only property that provides a unique identifier for the object to be used for
quick access that is not dependent upon the index.
(Inherited from AFObject.) | |
| Identity |
This read-only property contains identity of the object.
(Inherited from AFObject.) | |
| IsBrowsable |
Specifies whether a plugin should be displayed in client applications.
| |
| IsDeleted |
This read-only property indicates whether the object has been deleted.
(Inherited from AFObject.) | |
| IsNonEditableConfig |
Specifies whether a plugin's configuration should be allowed to be modified in client applications.
| |
| LoadedAssemblyTime |
Read-only property that provides the timestamp of the loaded assembly containing the plugin.
| |
| LoadedVersion |
Read-only property that contains a string that uniquely identifies the
loaded plugin version, as determined from its assembly.
| |
| Name |
Read-only property that identifies the name of the object.
| |
| PISystem |
This read-only property allows access to the PISystem associated with this
object.
(Inherited from AFObject.) | |
| SupportAssemblies |
The collection of support assemblies for the AFPlugIn.
| |
| UniqueID |
Read-only property that provides the object's ID as a String.
(Inherited from AFObject.) | |
| Version |
Read-only property that contains a string that uniquely identifies the
plugin version, as determined from its assembly.
|
Methods
| Name | Description | |
|---|---|---|
| CompareTo(Object) |
Compares this instance with a specified Object.
(Inherited from AFObject.) | |
| CompareTo(AFObject) |
Compares this instance with a specified AFObject.
(Inherited from AFObject.) | |
| CreateAnalysisRuleInstance |
Create an AFAnalysisRule instance of a plugin.
| |
| CreateControlInstance |
Create an instance of a plugin editor control.
| |
| CreateDataReferenceInstance |
Create an AFDataReference instance of a plugin.
| |
| CreateDeliveryChannelInstance |
Create an AFDeliveryChannel instance of a plugin.
| |
| CreateFormInstance |
Create an instance of a plugin editor form.
| |
| CreateTimeRuleInstance |
Create an AFTimeRule instance of a plugin.
| |
| CreateValueFormInstance |
Create an instance of a plugin value editor form.
| |
| Equals(Object) |
Determines whether the specified Object is equal to the current object.
(Inherited from AFObject.) | |
| Equals(AFObject) |
Indicates whether the current object is equal to another object of the same type.
(Inherited from AFObject.) | |
| 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 AFObject.) | |
| GetPath |
Returns the full path to the object, using just the names.
(Inherited from AFObject.) | |
| GetPath(AFObject) |
Returns the path to the object relative from another object.
(Inherited from AFObject.) | |
| GetPath(AFEncodeType, AFObject) |
Returns the path to the object relative from another object,
using the name and/or id as specified
by encodeType.
(Inherited from AFObject.) | |
| GetPlugInType |
Gets the .NET Type for the plugin.
| |
| GetType | Gets the Type of the current instance. (Inherited from Object.) | |
| Persist |
This method returns the persistence string for the object.
(Inherited from AFObject.) | |
| ResolvePlugInAssemblyPath |
Resolve the AFPlugIn assembly file name to a full path name.
| |
| ToString |
Returns a String that represents the current object.
(Inherited from AFObject.) | |
| UsesAControl |
Determines if the plugin editor is a control.
|
Remarks
The plugin is created by an object which inherits from one of the base plugin types (AFAnalysisRule, AFTimeRule, AFDataReference, or AFDeliveryChannel) that is located on the server's workstation. This object specifies the plugin's name, description, and identifier used to create an instance of the object.
Currently, there are four categories of plugins that are supported by the AF SDK: data references which inherit from the AFDataReference base class; time rules which inherit from the AFTimeRule base class; analysis engines which inherit from the AFAnalysisRule base class; and delivery channels which inherit from the AFDeliveryChannel base class. The lists of installed plugins are maintained by the PISystem.
Plugins are registered on the server using the RegPlugIn utility. A user must have Admin rights on the PISystem in order to register or unregister plugins on the server.
Examples
// This example will display information on the Data Reference PlugIns. // Get the Default System PISystems myPISystems = new PISystems(); PISystem myPISystem = myPISystems.DefaultPISystem; // Display the Name and Description of each Data Reference Rule PlugIn foreach (AFPlugIn CurDataReferencePlugIn in myPISystem.DataReferencePlugIns) { Console.WriteLine("Name = {0}", CurDataReferencePlugIn.Name); Console.WriteLine("Description = {0}", CurDataReferencePlugIn.Description); Console.WriteLine("UniqueID = {0}", CurDataReferencePlugIn.UniqueID); }
' This example will display information on the Data Reference PlugIns. ' Get the Default System Dim myPISystems As New PISystems Dim myPISystem As PISystem = myPISystems.DefaultPISystem ' Display the Name and Description of each Data Reference Rule PlugIn Dim CurDataReferencePlugIn As AFPlugIn For Each CurDataReferencePlugIn In myPISystem.DataReferencePlugIns Console.WriteLine("Name = {0}", CurDataReferencePlugIn.Name) Console.WriteLine("Description = {0}", CurDataReferencePlugIn.Description) Console.WriteLine("UniqueID = {0}", CurDataReferencePlugIn.UniqueID) Next CurDataReferencePlugIn
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.