protected override string GetLocalizedString(string value) { string category = this.category; if (!this.loaded) { try { ResourceManager resourceManager = SharedUtil.GetResourceManager(this.type.Assembly); string[] resourceNames = this.GetResourceNames(); for (int i = 0; i < resourceNames.Length; i++) { if (!SharedUtil.IsEmpty(category = SharedUtil.Trim(SharedUtil.GetString(resourceManager, resourceNames[i], new object[0])))) { break; } } if ((SharedUtil.IsEmpty(category) && (this.type.BaseType != null)) && (this.type.BaseType != typeof(object))) { category = new LocalCategoryAttribute(this.type.BaseType, this.category).Category; } } catch { } finally { if (SharedUtil.IsEmpty(category)) { category = this.category; } else { this.category = category; } this.loaded = true; } } return(category); }