InterfaceDef Object

Meta Data Services Programming

Meta Data Services Programming

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

See Also

ClassDef Object

InterfaceDef Object

PropertyDef Object

RepositoryObject Object

RepositoryObjectVersion Object

ReposTypeLib Object