コード例 #1
0
        public static TM1ClientConfig Load(String configFilePath)
        {
            TM1ClientConfig config = null;

            if (String.IsNullOrEmpty(configFilePath))
            {
                throw new ArgumentNullException(nameof(configFilePath));
            }
            if (!File.Exists(configFilePath))
            {
                String configDirPath = Path.GetDirectoryName(configFilePath);
                if (!Directory.Exists(configDirPath))
                {
                    Directory.CreateDirectory(configDirPath);
                }

                using (StreamWriter stream = File.CreateText(configFilePath))
                {
                    config = TM1ClientConfig.GetDefault();
                    JsonSerializer serializer = JsonSerializer.Create(new JsonSerializerSettings()
                    {
                        Formatting        = Formatting.Indented,
                        NullValueHandling = NullValueHandling.Ignore
                    });
                    serializer.Serialize(stream, config);
                }
            }
            using (StreamReader file = File.OpenText(configFilePath))
            {
                JsonSerializer serializer = new JsonSerializer();
                config = (TM1ClientConfig)serializer.Deserialize(file, typeof(TM1ClientConfig));
            }
            return(config);
        }