> ## Documentation Index
> Fetch the complete documentation index at: https://docs.superoffice.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AddressHelper class

> AddressHelper class

Each of the extension methods to [set LocalizedAddress][1] depends on a helper class called `AddressHelper`. The sole purpose of this class is to make it easy to get an Address as a Dictionary and transform a Dictionary into an Address.

```csharp theme={null}
public class AddressHelper
{
  public Dictionary<string, string> GetAddressAsDictionary(Address address)
  {
    ValidateAddress(address);
    var result = new Dictionary<string, string>(14);

    foreach (var line in address.LocalizedAddress)
    {
      foreach (var field in line)
      {
        result.Add(field.Name, field.Value);
      }
    }
    return result;
  }

  public void SetAddressFromDictionary(Address address, Dictionary<string, string> addressInfo)
  {
    ValidateAddress(address);

    foreach (var line in address.LocalizedAddress)
    {
      foreach (var field in line)
      {
        if (addressInfo.ContainsKey(field.Name))
          field.Value = addressInfo[field.Name];
        }
      }
    }

  private void ValidateAddress(Address address)
  {
    if ( address == null
      || address.LocalizedAddress == null
      || address.LocalizedAddress.Length == 0)
      throw new Exception("Must provide a formatted Address");
  }
}
```

[1]: ../../web-services/howto/address/set-localized-address


## Related topics

- [Helper classes](/en/api/plugins/erp-connectors/helpers.md)
- [Culture Helper](/en/api/localization/culture/culturesettinghelper.md)
- [Helper for private applications](/en/developer-portal/create-app/helper-application.md)
- [DumpResult helper method](/en/api/search/ifindagent/dump-result.md)
- [SuperOffice.WebApi.Authorization.Utility.UrlHelper](/en/api/reference/webapi/SuperOffice.WebApi.Authorization.Utility.UrlHelper.md)
- [Foreign keys](/en/api/foreign-keys/index.md)
