---
title: "Class DataSourceBase<T>"
slug: "sdk--stylelabs.m.sdk.models.base.datasources.generic.datasourcebase-1"
abstract: ""
---
# Class DataSourceBase<T>

A base class for data sources.

## Inheritance

object

[DataSourceBase](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.models.base.datasources.datasourcebase.html)

DataSourceBase<T>

[FlatDataSource](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.models.base.datasources.flatdatasource.html)

[HierarchicalDataSource](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.models.base.datasources.hierarchicaldatasource.html)

## Implements

[IDataSource](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.idatasource-1.html)

[IDataSource](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.idatasource.html)

[IResource](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.iresource.html)

## Inherited Members

[DataSourceBase.Name](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.models.base.datasources.datasourcebase.html)

[DataSourceBase.CreatedBy](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.models.base.datasources.datasourcebase.html)

[DataSourceBase.CreatedOn](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.models.base.datasources.datasourcebase.html)

[DataSourceBase.ModifiedBy](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.models.base.datasources.datasourcebase.html)

[DataSourceBase.ModifiedOn](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.models.base.datasources.datasourcebase.html)

[DataSourceBase.IsSystemOwned](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.models.base.datasources.datasourcebase.html)

[DataSourceBase.Labels](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.models.base.datasources.datasourcebase.html)

[DataSourceBase.Type](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.models.base.datasources.datasourcebase.html)

## Namespace: StylelabsStylelabs.MSdkStylelabs.M.Sdk.ModelsBaseDataSourcesGeneric

## Assembly: Stylelabs.M.Sdk.dll

## Syntax

```csharp
public abstract class DataSourceBase<T> : DataSourceBase, IDataSource<T>, IDataSource, IResource where T : class, IDataSourceValue
```

## Type Parameters

| Name | Description |
| --- | --- |
| T | The type. |

## Constructors

### DataSourceBase(string, IDictionary<CultureInfo, string>, IList<T>)

Initializes a new instance of the [DataSourceBase<T>](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.models.base.datasources.generic.datasourcebase-1.html) class.

#### Declaration

```csharp
protected DataSourceBase(string name, IDictionary<CultureInfo, string> labels, IList<T> values)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | The name of the data source. |
| IDictionary<, >CultureInfostring | labels | The labels for the data source. |
| IList<> | values | The values for the data source. |

### DataSourceBase(string)

Initializes a new instance of the [DataSourceBase<T>](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.models.base.datasources.generic.datasourcebase-1.html) class.

#### Declaration

```csharp
protected DataSourceBase(string name)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | name | The name of the data source. |

## Properties

### Values

Gets the list of data source values.

#### Declaration

```csharp
public IList<T> Values { get; protected set; }
```

#### Property Value

| Type | Description |
| --- | --- |
| IList<> |  |

## Methods

### GetDataSourceValues()

Gets a list of the data source values. Use the properties on [IFlatDataSource](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.iflatdatasource.html) or [IHierarchicalDataSource](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.ihierarchicaldatasource.html). to make changes.

#### Declaration

```csharp
public override IList<IDataSourceValue> GetDataSourceValues()
```

#### Returns

| Type | Description |
| --- | --- |
| IList<>[IDataSourceValue](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.idatasourcevalue.html) | The list of [IDataSourceValue](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.idatasourcevalue.html). |

#### Overrides

[DataSourceBase.GetDataSourceValues()](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.models.base.datasources.datasourcebase.html)

### Implements

[IDataSource<T>](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.idatasource-1.html)

[IDataSource](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.idatasource.html)

[IResource](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.iresource.html)
