localizableattributes.cs
上传用户:hbhltzc
上传日期:2022-06-04
资源大小:1925k
文件大小:2k
源码类别:

xml/soap/webservice

开发平台:

Visual C++

  1. using System;
  2. using System.Diagnostics;
  3. using System.Text;
  4. using System.ComponentModel;
  5. namespace XmlNotepad {
  6.     [AttributeUsage(AttributeTargets.All)]
  7.     internal sealed class SRDescriptionAttribute : DescriptionAttribute {
  8.         private bool replaced = false;
  9.         public SRDescriptionAttribute(string description)
  10.             : base(description) {
  11.         }
  12.         public override string Description {
  13.             get {
  14.                 if (!replaced) {
  15.                     replaced = true;
  16.                     DescriptionValue = SR.ResourceManager.GetString(base.Description);
  17.                 }
  18.                 return base.Description;
  19.             }
  20.         }
  21.     }
  22.     [AttributeUsage(AttributeTargets.All)]
  23.     internal sealed class SRCategoryAttribute : CategoryAttribute {
  24.         public SRCategoryAttribute(string category)
  25.             : base(category) {
  26.         }
  27.         protected override string GetLocalizedString(string value) {
  28.             return SR.ResourceManager.GetString(value);
  29.         }
  30.     }
  31.     [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field, Inherited = false, AllowMultiple = false)]
  32.     internal sealed class LocDisplayNameAttribute : DisplayNameAttribute {
  33.         string name;
  34.         /// <include file='docPropertyPages.uex' path='docs/doc[@for="LocDisplayNameAttribute.DisplayNameAttribute"]/*' />
  35.         public LocDisplayNameAttribute(string name) {
  36.             this.name = name;
  37.         }
  38.         /// <include file='docPropertyPages.uex' path='docs/doc[@for="LocDisplayNameAttribute.DisplayName"]/*' />
  39.         public override string DisplayName {
  40.             get {
  41.                 string result = SR.ResourceManager.GetString(this.name);
  42.                 if (result == null) {
  43.                     Debug.Assert(false, "String resource '" + this.name + "' is missing");
  44.                     result = this.name;
  45.                 }
  46.                 return result;
  47.             }
  48.         }
  49.     }
  50. }