Providing Automation for Code

Creating an automation model for your code is not required. The Environment SDK does not provide a sample for doing so. For insight into code models, see the CodeModel object.

To implement a code model, you must implement any interfaces that are determined by your internal data structure. The objects must be derived from the IDispatch class.

The objects that you extend, CodeModel and FileCodeModel, are available from the Project object, and look like the following:

You can elect to implement just the CodeModel or the FileCodeModel interface in the object you return from your Project and ProjectItem objects. Provide any functionality from this interface that is appropriate for your project system.

If you want to add features, such as methods or properties, that are not available from the standard CodeModel and FileCodeModel interfaces, create your own interface that inherits from the standard. Be sure to document it with your project system so end users will know to look for it. You return the standard interface, but the user can call the QueryInterface method or cast to your interface if it is known to exist.