//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//------------------------------------------------------------------------------
/*
*/
namespace System.Web {
using System;
using System.ComponentModel;
using System.Web.Util;
///
///
///
/// CategoryAttribute that can access ASP.NET localized strings.
///
///
[AttributeUsage(AttributeTargets.All)]
internal sealed class WebCategoryAttribute : CategoryAttribute {
///
///
/// Initializes a new instance of the class.
///
///
internal WebCategoryAttribute(string category) : base(category) {
}
public override object TypeId {
get {
return typeof(CategoryAttribute);
}
}
///
/// This method is called the first time the category property
/// is accessed. It provides a way to lookup a localized string for
/// the given category. Classes may override this to add their
/// own localized names to categories. If a localized string is
/// available for the given value, the method should return it.
/// Otherwise, it should return null.
///
protected override string GetLocalizedString(string value) {
string localizedValue = base.GetLocalizedString(value);
if (localizedValue == null) {
localizedValue = (string)SR.GetString("Category_" + value);
}
// This attribute is internal, and we should never have a missing resource string.
//
Debug.Assert(localizedValue != null, "All WebForms category attributes should have localized strings. Category '" + value + "' not found.");
return localizedValue;
}
}
}