InterfaceDef Object
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.
When to Use
Use the InterfaceDef class to:
- Retrieve or modify properties of an interface definition.
- Determine which members are attached to an interface definition.
- Determine which classes implement an interface.
- Determine the base interface from which an interface derives.
- Determine which interfaces derive from a particular interface.
- Determine which repository objects expose a particular interface.
- Add a new property, method, or collection type to an interface definition.
Properties
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 |
Methods
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. |
Collections
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 |