---
title: "Interface ICultureSensitiveProperty"
slug: "sdk--stylelabs.m.sdk.contracts.base.iculturesensitiveproperty"
abstract: ""
---
# Interface ICultureSensitiveProperty

Represents a property where values are mapped to specific cultures.

## Inherited Members

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

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

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

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

[ICultureSensitiveDirtyTracking.GetDirtyCultures()](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.dirtytracking.iculturesensitivedirtytracking.html)

[IDirtyTracking.IsTracking](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.dirtytracking.idirtytracking.html)

[IDirtyTracking.IsDirty](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.dirtytracking.idirtytracking.html)

[IDirtyTracking.StartTracking()](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.dirtytracking.idirtytracking.html)

[IDirtyTracking.MarkClean()](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.dirtytracking.idirtytracking.html)

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

## Assembly: Stylelabs.M.Sdk.dll

## Syntax

```csharp
public interface ICultureSensitiveProperty : IProperty, IMember, ICultureSensitiveDirtyTracking, IDirtyTracking
```

## Remarks

It is not possible to get or set a value in a culture when that culture was not loaded on the [IEntity](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.ientity.html). It is possible to set values in cultures that are not enabled in M, if they are loaded on the [IEntity](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.ientity.html), but they will not be persisted.

## Methods

### GetCultures()

Gets all cultures that the property supports. These are always equal to the cultures the [IEntity](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.ientity.html) was loaded with.

#### Declaration

```csharp
IList<CultureInfo> GetCultures()
```

#### Returns

| Type | Description |
| --- | --- |
| IList<>CultureInfo | The cultures (never null). |

### GetValue(CultureInfo)

Gets the value for a specific culture.

#### Declaration

```csharp
object GetValue(CultureInfo culture)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| CultureInfo | culture | Culture of the value. |

#### Returns

| Type | Description |
| --- | --- |
| object | The value or null if it has no value for this culture. |

### GetValue<T>(CultureInfo)

Gets the value for a specific culture.

#### Declaration

```csharp
T GetValue<T>(CultureInfo culture)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| CultureInfo | culture | Culture of the value. |

#### Returns

| Type | Description |
| --- | --- |
| T | The value or null if it has no value for this culture. |

#### Type Parameters

| Name | Description |
| --- | --- |
| T | Type of the value (preferable nullable). |

### GetValues()

Gets all values per culture in a non generic way.

#### Declaration

```csharp
IDictionary<CultureInfo, object> GetValues()
```

#### Returns

| Type | Description |
| --- | --- |
| IDictionary<, >CultureInfoobject | Property values. |

#### Remarks

This method only returns the values in the cultures the [IEntity](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.ientity.html) was loaded in.

### GetValues<T>()

Gets all values per culture.

#### Declaration

```csharp
IDictionary<CultureInfo, T> GetValues<T>()
```

#### Returns

| Type | Description |
| --- | --- |
| IDictionary<, >CultureInfo | All property values. |

#### Type Parameters

| Name | Description |
| --- | --- |
| T | Type of the value (preferable nullable). |

#### Remarks

This method only returns the values in the cultures the [IEntity](https://doc.sitecore.com/ch/en/developers/api-reference/sdk--stylelabs.m.sdk.contracts.base.ientity.html) was loaded in.

### GetValues<T>(IEnumerable<CultureInfo>)

Gets all values in the requested cultures.

#### Declaration

```csharp
IDictionary<CultureInfo, T> GetValues<T>(IEnumerable<CultureInfo> cultures)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| IEnumerable<>CultureInfo | cultures | Cultures to include. |

#### Returns

| Type | Description |
| --- | --- |
| IDictionary<, >CultureInfo | All property values in the requested cultures. |

#### Type Parameters

| Name | Description |
| --- | --- |
| T | Type of the value (preferable nullable). |

### SetValue(CultureInfo, object)

Sets a value for a specific culture.

#### Declaration

```csharp
void SetValue(CultureInfo culture, object value)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| CultureInfo | culture | Culture of the value. |
| object | value | Value. |
