## 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