# ComponentFunctionInfo class

Namespace: [Rhino.NodeInCode](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.nodeincode.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
public abstract class ComponentFunctionInfo
```

Defines the base class for a function representing a component. This class is abstract.

## Constructors

- [ComponentFunctionInfo](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/ctor.md): Instantiates a new instance of the function class. This is not meant for public consumption.

## Properties

- [ComponentGuid](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/componentguid.md): The unique identifier of the Grasshopper component. It is the original developer's responsibility to ensure that this ID is unique.
- [Delegate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/delegate.md): Returns a delegate that can be directly invoked using a list of arguments. This flattens trees.
- [DelegateNoWarnings](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/delegatenowarnings.md): Returns a delegate that can be directly invoked using a list of arguments. This flattens trees.
- [DelegateTree](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/delegatetree.md): Returns a delegate that can be directly invoked using a list of arguments. This considers trees and simplifies single-output components.
- [DelegateTreeNoWarnings](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/delegatetreenowarnings.md): Returns a delegate that can be directly invoked using a list of arguments. This considers trees and simplifies single-output components.
- [Description](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/description.md): The function description.
- [FullName](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/fullname.md): Returns the name of the component prefixed by, if existing, the namespace.
- [FullScriptingName](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/fullscriptingname.md): Shows the full name of the component, including optional periods. Removes spaces and common operator signs.
- [InputDescriptions](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/inputdescriptions.md): The function input parameter descriptions.
- [InputNames](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/inputnames.md): The function input parameter names.
- [InputsOptional](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/inputsoptional.md): Indications for each function input parameter whether it is optional.
- [InputTypeNames](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/inputtypenames.md): The function input type names.
- [IsDefault](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/isdefault.md): Determines if the component is a default one.
- [Name](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/name.md): The function name.
- [Namespace](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/namespace.md): The function namespace.
- [OutputDescriptions](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/outputdescriptions.md): Grasshopper returns several items in general. This property returns the output descriptions.
- [OutputNames](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/outputnames.md): Grasshopper returns several items in general. This property returns the output names.
- [OutputTypeNames](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/outputtypenames.md): Grasshopper returns several items in general. This property returns the output type names.

## Methods

- [Evaluate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/evaluate.md): Evaluates the component with a set of arguments. There needs to be an argument for each input param, and each output param gives an entry in the output array.
- [Invoke](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/invoke.md): Runs [ComponentFunctionInfo.Evaluate(IEnumerable, bool, string[])](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/evaluate.md) with keepTree equal to false, and raises an exception on the first warning.
- [InvokeKeepTree](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/invokekeeptree.md): Runs [ComponentFunctionInfo.Evaluate(IEnumerable, bool, string[])](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/evaluate.md) with keepTree equal to true and raises an exception on the first warning.
- [InvokeKeepTreeSilenceWarnings](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/invokekeeptreesilencewarnings.md): Runs [ComponentFunctionInfo.Evaluate(IEnumerable, bool, string[])](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/evaluate.md) with keepTree equal to true, and discards warnings (this is a dangerous operation!).
- [InvokeSilenceWarnings](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/invokesilencewarnings.md): Runs [ComponentFunctionInfo.Evaluate(IEnumerable, bool, string[])](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/evaluate.md) with keepTree equal to false, then simplifies output with [ComponentFunctionInfo.SimplifyTreeOutput(object[], string[], bool)](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo.md) and discards warnings (this is a dangerous operation!).
- [ToString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.nodeincode.componentfunctioninfo/tostring.md): Returns a string representing this function.
