## ICENodePort.CustomDataTypes

### Introduced

v8.0 (2010)

### Description

Returns an Array of custom data types defined for this ICENodePort. Custom data types are defined by custom ICENodes and used as data type for defining custom ICEPorts and ICEAttributes. The array is empty if no custom types are defined on this port.

### C# Syntax

    // get accessor

    Object rtn = ICENodePort.CustomDataTypes;

### Examples

#### Python Example

    from win32com.client import constants

    app = Application

    log = app.LogMessage

    # Loads the GridWalker custom node plug-in from the examples workgroup

    wrkgrp = XSIUtils.BuildPath( app.GetInstallationPath2(constants.siFactoryPath ), "XSISDK", "examples", "workgroup" )

    app.AddWorkgroup( wrkgrp )

    # Opens the GridWalker scene containing custom data types

    app.OpenScene( XSIUtils.BuildPath( wrkgrp, "Addons", "CustomICENodes", "Data", "Project", "Scenes", "GridWalker" ) + ".scn", False )

    # Log the ports with custom data types

    node = app.ActiveSceneRoot.FindChild("grid").ActivePrimitive.ICETrees(0).Nodes("GridWalker")

    for p in node.InputPorts:

    	if p.DataType == constants.siICENodeDataCustomType:

    		log( "Custom data type for input port <" + p.Name + ">: " + p.CustomDataTypes[0] )

    for p in node.OutputPorts:

    	if p.DataType == constants.siICENodeDataCustomType:

    		log( "Custom data type for output port <" + p.Name + ">: " + p.CustomDataTypes[0] )

    # Output:

    # INFO : Custom data type for input port <InState>: GridWalkState_v1

    # INFO : Custom data type for output port <OutState>: GridWalkState_v1

### See Also

ICEAttribute.CustomDataTypes ICENodePort::GetCustomDataTypes ICENodeDef::DefineCustomType