Skip to content

Instantly share code, notes, and snippets.

@Clancey
Created August 21, 2017 19:51
Show Gist options
  • Save Clancey/cf98b4db8721446c2722132ce04637ee to your computer and use it in GitHub Desktop.
Save Clancey/cf98b4db8721446c2722132ce04637ee to your computer and use it in GitHub Desktop.
Extension methods to make using Settings easier
using System;
using System.Runtime.CompilerServices;
using Plugin.Settings.Abstractions;
namespace Plugin.Settings.Abstractions
{
public static class AppSettingsExtensions
{
public static void Set(this ISettings settings, string value, [CallerMemberNameAttribute] string memberName = "") => settings.AddOrUpdateValue(memberName, value);
public static void Set(this ISettings settings, bool value, [CallerMemberNameAttribute] string memberName = "") => settings.AddOrUpdateValue(memberName, value);
public static void Set(this ISettings settings, long value, [CallerMemberNameAttribute] string memberName = "") => settings.AddOrUpdateValue(memberName, value);
public static void Set(this ISettings settings, decimal value, [CallerMemberNameAttribute] string memberName = "") => settings.AddOrUpdateValue(memberName, value);
public static void Set(this ISettings settings, int value, [CallerMemberNameAttribute] string memberName = "") => settings.AddOrUpdateValue(memberName, value);
public static void Set(this ISettings settings, float value, [CallerMemberNameAttribute] string memberName = "") => settings.AddOrUpdateValue(memberName, value);
public static void Set(this ISettings settings, DateTime value, [CallerMemberNameAttribute] string memberName = "") => settings.AddOrUpdateValue(memberName, value);
public static void Set(this ISettings settings, Guid value, [CallerMemberNameAttribute] string memberName = "") => settings.AddOrUpdateValue(memberName, value);
public static void Set(this ISettings settings, Double value, [CallerMemberNameAttribute] string memberName = "") => settings.AddOrUpdateValue(memberName, value);
public static string GetString(this ISettings settings, string defaultValue = null, [CallerMemberNameAttribute] string memberName = "") => settings.GetValueOrDefault(memberName, defaultValue);
public static bool GetBool(this ISettings settings, bool defaultValue = default(bool), [CallerMemberNameAttribute] string memberName = "") => settings.GetValueOrDefault(memberName, defaultValue);
public static long GetLong(this ISettings settings, long defaultValue = default(long), [CallerMemberNameAttribute] string memberName = "") => settings.GetValueOrDefault(memberName, defaultValue);
public static decimal GetDecimal(this ISettings settings, decimal defaultValue = default(decimal), [CallerMemberNameAttribute] string memberName = "") => settings.GetValueOrDefault(memberName, defaultValue);
public static int GetInt(this ISettings settings, int defaultValue = default(int), [CallerMemberNameAttribute] string memberName = "") => settings.GetValueOrDefault(memberName, defaultValue);
public static float GetFloat(this ISettings settings, float defaultValue = default(float), [CallerMemberNameAttribute] string memberName = "") => settings.GetValueOrDefault(memberName, defaultValue);
public static DateTime GetDateTime(this ISettings settings, DateTime defaultValue = default(DateTime), [CallerMemberNameAttribute] string memberName = "") => settings.GetValueOrDefault(memberName, defaultValue);
public static Guid GetGuid(this ISettings settings, Guid defaultValue = default(Guid), [CallerMemberNameAttribute] string memberName = "") => settings.GetValueOrDefault(memberName, defaultValue);
public static Double GetDouble(this ISettings settings, Double defaultValue = default(double), [CallerMemberNameAttribute] string memberName = "") => settings.GetValueOrDefault(memberName, defaultValue);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment