The properties, methods, and collections that a class implements are organized into functionally related groups. Each group is implemented as a repository interface. The properties, methods, and collections of each interface are members of the interface. An interface definition is the template to which an interface conforms.
To add a new interface to a repository, use the ClassDef object or the ReposTypeLib object.
An InterfaceDef object is also a RepositoryObject and a RepositoryObjectVersion object. In addition to the members described here, you can access members that are defined for those objects. For more information about accessing a member of an interface that is not the default interface, see Accessing Automation Object Members.
Use the InterfaceDef class to:
Property | Description |
---|---|
Flags | Flags that specify whether the interface is extensible, and whether the interface should be visible to Automation interface queries |
InterfaceID | The global interface identifier for the interface |
Synonym | Stores a synonym of the interface name |
TableName | The name of the SQL table that is used to store instance information for the properties of the interface |
Method | Description |
---|---|
CreateAlias | Creates a new alias definition, and attaches it to the interface definition. |
CreateMethodDef | Creates a new method definition, and attaches it to the interface definition. |
CreatePropertyDef | Creates a new property definition, and attaches it to the interface definition. |
CreateRelationshipColDef | Creates a relationship collection type. The collection type is attached to the interface definition. |
ObjectInstances | Materializes an ObjectCol collection of all objects in the repository that expose this interface. |
Collection | Description |
---|---|
Ancestor | The collection of one base interface from which this interface derives |
Classes | The collection of classes that implement the interface |
Descendants | The collection of other interfaces that derive from this interface |
Members | The collection of members that are exposed by the interface |
Properties | The collection of all persistent properties that are attached to the InterfaceDef object |
ReposTypeLibScopes | The collection of all repository type libraries that contain this definition |
Implies | The collection of InterfaceDef objects that are also implemented by this interface |
ImpliedBy | The collection of InterfaceDef objects that also implement this interface |
ScriptsUsedByInterface | The collection of script definition object used by this interface |