# Unit Code Types

## Content



For Unit code types, the [CodeText](/componentone/api/win/online-chart2d/dotnet-framework-api/C1.Win.C1Chart.4.8/C1.Win.C1Chart.YFunction.CodeText.html) property of a function must contain the full compile unit text. The unit must include the class "Calculator" in the UserFunction namespace, and must implement the ISimpleFunction interface.

DOC-DETAILS-TAG-OPEN

DOC-SUMMARY-TAG-OPEN

To write code in Visual Basic

DOC-SUMMARY-TAG-CLOSE

```vbnet
Dim code As String = _
"Namespace UserFunction" & vbNewLine & _
"  Class Calculator" & vbNewLine & _
"    Implements ISimpleFunction" & vbNewLine & _
  "    Public Function Calculate(x As Double) As Double _" & vbNewLine & _
  "      Implements ISimpleFunction.Calculate" & vbNewLine & _
  "      Dim x2 As Double = x*x" & vbNewLine & _
  "      if( x<0)" & vbNewLine & _
  "        return -x" & vbNewLine & _
  "      else" & vbNewLine & _
  "        return -0.5*x2" & vbNewLine & _
  "      End If" & vbNewLine & _
  "    End Function" & vbNewLine & _
  "  End Class" & vbNewLine & _
  "End Namespace"
Dim yf As C1.Win.C1Chart.YFunction = New C1.Win.C1Chart.YFunction()
yf.CodeType = C1.Win.C1Chart.FunctionCodeTypeEnum.Unit
yf.CodeLanguage = C1.Win.C1Chart.FunctionCodeLanguageEnum.VB
yf.CodeText = code
yf.MinX = -5
yf.MaxX = 5
yf.LineStyle.Color = Color.Green
yf.LineStyle.Thickness = 3
C1Chart1.ChartGroups(0).ChartData.FunctionsList.Add(yf)
```

DOC-DETAILS-TAG-CLOSE

DOC-DETAILS-TAG-OPEN

DOC-SUMMARY-TAG-OPEN

To write code in C#

DOC-SUMMARY-TAG-CLOSE

```csharp
string code =
"namespace UserFunction" +
"{" +
"  class Calculator : ISimpleFunction" + 
"  {" +
"    public double Calculate(double x)" + 
"    {" + 
"      double x2 = x*x;" + 
"      if( x<0)" + 
"        return -x;" + 
"      else" + 
"        return -0.5*x2;" +
"    }" + 
"  }" + 
"}";
C1.Win.C1Chart.YFunction yf = new C1.Win.C1Chart.YFunction();
yf.CodeType = C1.Win.C1Chart.FunctionCodeTypeEnum.Unit;
yf.CodeText = code;
yf.MinX = -5;
yf.MaxX = 5;
yf.LineStyle.Color = Color.Green;
yf.LineStyle.Thickness = 2;
c1Chart1.ChartGroups[0].ChartData.FunctionsList.Add( yf);
```

DOC-DETAILS-TAG-CLOSE

## See Also

[Calculating the Value for Functions](/componentone/docs/win/online-chart2d/chartingdata/plottingfunctions/calculatingthevaluef)