---
title: "Interface IDataSource"
slug: "sdk--stylelabs.m.sdk.contracts.base.idatasource"
abstract: ""
---
# Interface IDataSource

A collection of predefined values for fields. Also known as 'option lists'.

## Inherited Members

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

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

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

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

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

## Assembly: Stylelabs.M.Sdk.dll

## Syntax

```csharp
public interface IDataSource : IResource
```

## Properties

### IsSystemOwned

Gets or sets a value indicating whether the datasource is editable. false (default) allows the datasource to be editable, false locks the datasource preventing any further modifications.

#### Declaration

```csharp
bool IsSystemOwned { get; set; }
```

#### Property Value

| Type | Description |
| --- | --- |
| bool |  |

### Labels

Gets optional translation(s) of the canonical name.

#### Declaration

```csharp
IDictionary<CultureInfo, string> Labels { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| IDictionary<, >CultureInfostring |  |

### Name

Gets the name of the datasource. Can only contain letters, numbers, dots or underscores. Because it is used as an identifier, this also needs to be unique.

#### Declaration

```csharp
string Name { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| string |  |

### Type

Gets the type of the datasource.

#### Declaration

```csharp
DataSourceType Type { get; }
```

#### Property Value

| Type | Description |
| --- | --- |
| [DataSourceType](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.datasourcetype.html) |  |

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