Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // caller
- public void SetStringValue(string name, string val)
- {
- UserData.SetPropertyValue(this, name, val);
- }
- // userdata file
- namespace PreferencesXML.iOS
- {
- public static class UserData
- {
- public static object GetPropertyValue(object data, string propertyName)
- {
- return data.GetType().GetProperties().SingleOrDefault(pi => pi.Name == propertyName).GetValue(data, null);
- }
- public static void SetPropertyValue<T>(object data, string propertyName, T value)
- {
- data.GetType().GetProperties().SingleOrDefault(pi => pi.Name == propertyName).SetValue(data, value);
- }
- private static string pUserSettingsFile;
- private static UserSetting userSetting;
- public static UserSetting UserSetting
- {
- get
- {
- if (userSetting == null)
- {
- if (File.Exists(UserSettingsFile))
- {
- userSetting = Serialiser.XmlDeserializeObject<UserSetting>(UserSettingsFile);
- }
- else
- {
- userSetting = new UserSetting();
- Serialiser.XmlSerializeObject(userSetting, UserSettingsFile);
- }
- }
- return userSetting;
- }
- set
- {
- if (value == null)
- {
- throw new ArgumentNullException("value is null!");
- }
- // end if
- userSetting = value;
- if (File.Exists(UserSettingsFile))
- {
- File.Delete(UserSettingsFile);
- }
- Serialiser.XmlSerializeObject(userSetting, UserSettingsFile);
- }
- }
- public static string UserSettingsFile
- {
- get
- {
- if (string.IsNullOrEmpty(pUserSettingsFile))
- {
- pUserSettingsFile = Path.Combine(AppDelegate.Self.ContentDirectory, "UserSettings.xml");
- }
- return pUserSettingsFile;
- }
- }
- public static string Company
- {
- get
- {
- return UserSetting.companyName;
- }
- set
- {
- UserSetting settings = UserSetting;
- settings.companyName = value;
- UserSetting = settings;
- }
- }
- public static double Pi
- {
- get
- {
- return UserSetting.pi;
- }
- set
- {
- UserSetting settings = UserSetting;
- settings.pi = value;
- UserSetting = settings;
- }
- }
- public static bool OnOff
- {
- get
- {
- return UserSetting.onOff;
- }
- set
- {
- UserSetting settings = UserSetting;
- settings.onOff = value;
- UserSetting = settings;
- }
- }
- }
- public class UserSetting
- {
- public string companyName{ get; set; }
- public double pi{ get; set; }
- public bool onOff{ get; set; }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement