Exemple #1
0
        /// <summary>
        /// タイプ名称か。
        /// </summary>
        /// <param name="app">アプリケーション操作クラス。</param>
        /// <param name="name">名前。</param>
        /// <param name="cacheNotType">タイプ名称でなくてもキャッシュするか。</param>
        /// <returns>タイプ名称か。</returns>
        internal bool IsTypeName(AppFriend app, string name, bool cacheNotType)
        {
            if (NameSpace.ContainsKey(name))
            {
                return(false);
            }
            bool isType = false;

            if (Type.TryGetValue(name, out isType))
            {
                return(isType);
            }
            if ((bool)app[typeof(object), "ReferenceEquals"](_typeFinder["GetType"](name), null).Core)
            {
                if (cacheNotType)
                {
                    Type.Add(name, false);
                }
                return(false);
            }
            Type.Add(name, true);
            int index = name.LastIndexOf('.');

            if (index != -1)
            {
                string nameSpace = name.Substring(0, index);
                NameSpace.Remove(nameSpace);
                NameSpace.Add(nameSpace, true);
            }
            return(true);
        }