InterfaceDef Object

See Also

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 the Repository, use the ClassDef object or the ReposTypeLib object.

An InterfaceDef object is also a RepositoryObject. In addition to the members described here, InterfaceDef objects also provide the members that are defined for Repository objects.

When to Use

Use the InterfaceDef class to:

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.
TableName The name of the SQL table that is used to store instance information for the properties of the interface.

Methods

Method Description
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.
ItemInCollections This collection is empty for interface definitions.
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.