Exemplo n.º 1
0
 /// <summary>
 /// 判断配置名称是否存在
 /// </summary>
 /// <param name="type">配置类型</param>
 /// <param name="name">配置名称</param>
 /// <returns>配置是否加载存在</returns>
 public bool IsConfigName(Type type, string name)
 {
     ajax.jsonNode config = getConfig(type);
     if (config.Type == ajax.jsonNode.nodeType.Dictionary && config.Dictionary.TryGetValue(name, out config))
     {
         return(config.Type != ajax.jsonNode.nodeType.Null);
     }
     return(false);
 }
Exemplo n.º 2
0
 /// <summary>
 /// 配置加载
 /// </summary>
 /// <param name="value">配置对象</param>
 /// <param name="name">配置名称,null表示只匹配类型</param>
 public valueType LoadConfig <valueType>(valueType value, string name = null)
 {
     if (value == null)
     {
         log.Default.Throw(log.exceptionType.Null);
     }
     ajax.jsonNode config = getConfig(value.GetType());
     if (name == null)
     {
         return(ajax.parseJson.GetConfig <valueType>(value, config));
     }
     if (config.Type == ajax.jsonNode.nodeType.Dictionary && config.Dictionary.TryGetValue(name, out config))
     {
         return(ajax.parseJson.GetConfig <valueType>(value, config));
     }
     //log.Default.Add("没有找到配置 " + typeof(valueType).fullName() + "." + name, true, false);
     return(value);
 }
Exemplo n.º 3
0
 /// <summary>
 /// 获取配置
 /// </summary>
 /// <param name="type">配置类型</param>
 /// <returns>配置</returns>
 private ajax.jsonNode getConfig(Type type)
 {
     if (configs.Type != ajax.jsonNode.nodeType.Null)
     {
         string name = type.FullName, fastCSharpName = fastCSharp.pub.fastCSharp + ".";
         if (name.StartsWith(fastCSharpName, StringComparison.Ordinal))
         {
             string fastCSharpConfig = fastCSharpName + "config.";
             name = name.Substring(name.StartsWith(fastCSharpConfig, StringComparison.Ordinal) ? fastCSharpConfig.Length : fastCSharpName.Length);
         }
         ajax.jsonNode config = configs;
         foreach (string tagName in name.Split('.'))
         {
             if (config.Type != ajax.jsonNode.nodeType.Dictionary ||
                 !config.Dictionary.TryGetValue(tagName, out config))
             {
                 return(default(ajax.jsonNode));
             }
         }
         return(config);
     }
     return(default(ajax.jsonNode));
 }