# BaseBlock

> Abstract base class for all existing block elements.

## Definition

* **Type:** Class
* **Namespace:** [Unity.Android.Gradle](/engine/6000.5/script-reference/unity/android/gradle.md)
* **Assembly:** Unity.Android.Gradle
* **Inherits from:** [BaseElement](/engine/6000.5/script-reference/unity/android/gradle/baseelement.md)
* **Implements:** [ICloneable](https://learn.microsoft.com/dotnet/api/system.icloneable)

```csharp
public abstract class BaseBlock : BaseElement, ICloneable
```

## Remarks

Empty blocks don't appear in the resulting file. A block is empty if it has no children and has no raw value set.

## Constructors

| Constructor                                                                                                         | Description          |
| ------------------------------------------------------------------------------------------------------------------- | -------------------- |
| [BaseBlock(Unity.Android.Gradle.BaseBlock)](/engine/6000.5/script-reference/unity/android/gradle/baseblock/ctor.md) | Element constructor. |

## Methods

| Method                                                                                           | Description                                                                           |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------- |
| [AddElement](/engine/6000.5/script-reference/unity/android/gradle/baseblock/addelement.md)       | Adds a new element as a child.                                                        |
| [Clear](/engine/6000.5/script-reference/unity/android/gradle/baseblock/clear.md)                 | Clears the content of this element.                                                   |
| [GetElement](/engine/6000.5/script-reference/unity/android/gradle/baseblock/getelement.md)       | Gets an element by ID.                                                                |
| [GetElements](/engine/6000.5/script-reference/unity/android/gradle/baseblock/getelements.md)     | Gets all custom child elements.                                                       |
| [GetName](/engine/6000.5/script-reference/unity/android/gradle/baseblock/getname.md)             | Gets the name of the block. In some cases, the name is the signature of the function. |
| [GetRaw](/engine/6000.5/script-reference/unity/android/gradle/baseblock/getraw.md)               | Gets the raw value of this block.                                                     |
| [GetUniqueName](/engine/6000.5/script-reference/unity/android/gradle/baseblock/getuniquename.md) | Gets the unique name of the element.                                                  |
| [RemoveElement](/engine/6000.5/script-reference/unity/android/gradle/baseblock/removeelement.md) | Removes a child element by id.                                                        |
| [SetRaw](/engine/6000.5/script-reference/unity/android/gradle/baseblock/setraw.md)               | Sets a raw string value to this block.                                                |
| [ToString](/engine/6000.5/script-reference/unity/android/gradle/baseblock/tostring.md)           | Gets a serialized value from this block.                                              |

## Inheritance

**Inherited Members:**

* [BaseElement.GetElementDependenciesIDs()](/engine/6000.5/script-reference/unity/android/gradle/baseelement/getelementdependenciesids.md)
* [BaseElement.GetID()](/engine/6000.5/script-reference/unity/android/gradle/baseelement/getid.md)
* [BaseElement.ResolveConflict()](/engine/6000.5/script-reference/unity/android/gradle/baseelement/resolveconflict.md)
* [BaseElement.AddElementDependency(BaseElement)](/engine/6000.5/script-reference/unity/android/gradle/baseelement/addelementdependency.md#addelementdependency\(baseelement\))
* [BaseElement.AddElementDependency(uint)](/engine/6000.5/script-reference/unity/android/gradle/baseelement/addelementdependency.md#addelementdependency\(uint\))
* [BaseElement.AddElementDependencies(IEnumerable\<uint>)](/engine/6000.5/script-reference/unity/android/gradle/baseelement/addelementdependencies.md)
* [BaseElement.RemoveElementDependency(BaseElement)](/engine/6000.5/script-reference/unity/android/gradle/baseelement/removeelementdependency.md)
* [BaseElement.RemoveAllElementDependencies()](/engine/6000.5/script-reference/unity/android/gradle/baseelement/removeallelementdependencies.md)
* [BaseElement.RemoveElementDependencyById(uint)](/engine/6000.5/script-reference/unity/android/gradle/baseelement/removeelementdependencybyid.md)
* [BaseElement.Remove()](/engine/6000.5/script-reference/unity/android/gradle/baseelement/remove.md)
