Пример #1
0
        /// <summary>
        /// タイプの名前であるか。
        /// </summary>
        /// <param name="app">アプリケーション操作クラス。</param>
        /// <param name="name">名前。</param>
        /// <param name="cacheNotType">タイプでなくてもキャッシュする。</param>
        /// <returns>タイプの名前であるか。</returns>
        private static bool IsTypeName(AppFriend app, string name, bool cacheNotType)
        {
            if (string.IsNullOrEmpty(name))
            {
                return(false);
            }

            //初回登録時にマルチスレッドでアクセスされた場合
            //初回のキャッシュ登録が無駄になるが、許容する
            object typeCache;

            if (!app.TryGetAppControlInfo(TypeCacheKey, out typeCache))
            {
                typeCache = new TypeChahe(app);
                app.AddAppControlInfo(TypeCacheKey, typeCache);
            }
            lock (typeCache)
            {
                return(((TypeChahe)typeCache).IsTypeName(app, name, cacheNotType));
            }
        }
Пример #2
0
        /// <summary>
        /// タイプの名前であるか。
        /// </summary>
        /// <param name="app">アプリケーション操作クラス。</param>
        /// <param name="name">名前。</param>
        /// <param name="cacheNotType">タイプでなくてもキャッシュする。</param>
        /// <returns>タイプの名前であるか。</returns>
        private static bool IsTypeName(AppFriend app, string name, bool cacheNotType)
        {
            if (string.IsNullOrEmpty(name))
            {
                return false;
            }

            //初回登録時にマルチスレッドでアクセスされた場合
            //初回のキャッシュ登録が無駄になるが、許容する
            object typeCache;
            if (!app.TryGetAppControlInfo(TypeCacheKey, out typeCache))
            {
                typeCache = new TypeChahe(app);
                app.AddAppControlInfo(TypeCacheKey, typeCache);
            }
            lock (typeCache)
            {
                return ((TypeChahe)typeCache).IsTypeName(app, name, cacheNotType);
            }
        }