我们知道在开发控件时,可以为某个属性添加DescriptionAttribute标记,就可以在属性栏中显示他的注释,像下面这样:
让你的控件属性注释支持多语言        private int _qua;
让你的控件属性注释支持多语言        [Description(
"此订单明细的数量")]

但你会发现,注释的字符串是中文文本写死的,如果我希望控件在英文的环境下显示英文的注释应该怎么办呢?.NET Framework就可以显示不同语言的注释,他是怎么解决的呢?

反编译.NET Framework,我们发现他的注释并没有DescriptionAttribute,而是使用了SRDescriptionAttribute ,例如:
让你的控件属性注释支持多语言        [SRDescription("ControlBottomDescr")]
        }
在注释中,.NET Framework没有的确没有直接写英文注释,而是写了一个资源关键字,再查看SRDescriptionAttribute 的实现。
让你的控件属性注释支持多语言    [AttributeUsage(AttributeTargets.All)]
    }

太简单,太巧妙了,他重载了Description的Get,改从资源文件中获取。
就这么简单。

相关文章:

  • 2021-08-16
  • 2022-12-23
  • 2021-09-29
  • 2021-06-01
  • 2021-07-01
  • 2021-10-01
猜你喜欢
  • 2021-05-31
  • 2022-12-23
  • 2022-02-23
  • 2021-08-03
  • 2022-12-23
  • 2021-08-28
相关资源
相似解决方案